Matematyczne funkcje w c#

0

tak jak w temacie, jak zapisać podane niżej funkcje w języku c#
a) cos(x) x^4
b) x
x
c) sin(x)*x^3

pierwsza z nich obowiązuje w przedziale od -nieskonczonosci do -1, x^2 w przedziale -1 do 1, a ostatnia z sinusem od 1 w górę.
Program działa w sposób taki, że uzytkownik podaje xmin oraz xmax, i rysuje sie funkcja.
Aktualnie kod wyglada w ten sposob, ale niestety gdzies w zapisie są błędy, ponieważ funkcja która się pojawia, nie wyglada tak jak powinna.
Pomożecie? :D

float jb_obliczY(float X)
{
float Fx;
if (X < -1)
{ Fx = ((((((float)Math.Cos(X)) X) X) X) X);
}
else if (X >= -1 && X < 1)
{ Fx = (X X);
}
else
{ Fx = (((((float)Math.Sin(X))
X) X) X);
}
return Fx;

0

Tutaj masz klasę math chyba tego szukasz i jakieś przykłady, a tak jak używasz potęgi to masz Math.Pow
https://msdn.microsoft.com/pl[...]ry/system.math(v=vs.110).aspx

0

Nie do końca rozumiem o co chodzi ze sformułowaniem "rysuje się", gdybyś mógł sprecyzować ...
Inna sprawa, to stwierdzenie, że coś ma przedział min - max sugeruje, że trzeba to scałkować albo dać temu jakąś dokładność kroku, czy nie ?
Jeżeli chodzi o warunku, to moim zdaniem tak wyglądają prościej :

        //  a) cos(x) x ^ 4   od -nieskonczonosci do -1
        //  b) xx  -1 do 1
        //  c) sin(x) * x ^ 3    od 1 w górę
        double min,
                   max,
                   wart;

        min = double.Parse(Console.ReadLine());
        max = double.Parse(Console.ReadLine());

        if ( min < -1)
        {
            wart = Math.Cos(min) * Math.Pow(min, 4);
        }
        else if ( min > 1)
        {
            wart = Math.Sin(min) * Math.Pow(min, 3);
        }
        else
        {
            wart = min * min;
        }

        Console.WriteLine(wart.ToString()); 

Pisane w konsoli, bo z tego co zrozumiałem to taka idea tego zadania.
Pozdrawiam :)

A, pamiętaj, że ta metoda (Sin i Cos) obsługuje wartości podane za pomocą radianów -> Math.PI/180

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0