Funkcja - obliczenie fmax oraz miejsca zerowe

0

Dzień dobry mam takie oto zadanie i nie wiem za bardzo jak je wykonać.
Dana jest funkcja a * x * x + b * x + c

Zakładamy, że:

  • x należy do przedziału przedziale od -nieskończoności do nieskończoności

  • dane są wartości a, b i c, które należą do przedziału od -10000000 do 10000000

Ma obliczyć wartości miejsc zerowych funkcji oraz znajduje maximum funkcji.

Dotychczas mam takie kod

            double a, x, b, c, y;
            a = Convert.ToDouble(textBox1.Text);
            x = Convert.ToDouble(textBox2.Text);
            
            b = Convert.ToDouble(textBox3.Text);
            c = Convert.ToDouble(textBox4.Text);
            y = a * x * x + b * x + c;
            textBox7.Text = y.ToString();
3

A na kartce umiesz to zrobić? Bo bez elementarnej wiedzy matematycznej o rozwiązywaniu równań kwadratowych to nie da się tego zrobić.
Pamiętaj o rozważeniu przypadku, gdy a = 0.

2

Na wikipedii, w artykule o funkcji kwadratowej znajdziesz wszystko:
https://pl.wikipedia.org/wiki/Funkcja_kwadratowa

0
no to na miejsca zerowe dodałem takie coś:
                if (x >= x1 && x <= x2)
                {
                    y = 0;
                }
                else
                {
                    y = a * x * x + b * x + c;
                }

teraz jak fmax?

1

Umiesz rozwiązać równanie kwadratowe na kratce?

0

No umiem i co?

0

Dobra zrobiłem takie coś, tylko pojęcia nie mam jak fmax do tego i jaką funkcją.

            double a, b, c, y, x1, x2;

            a = Convert.ToInt32(textBox1.Text);
            x = Convert.ToInt32(textBox2.Text);
            
            b = Convert.ToInt32(textBox3.Text);
            c = Convert.ToInt32(textBox4.Text);
            x1 = Convert.ToInt32(textBox5.Text);
            x2 = Convert.ToInt32(textBox6.Text);
            y = a * x * x + b * x + c;
            if (a != 0)
            {
                y = a * x * x + b * x + c;
            }
            else
            {
                textBox7.Text = y.ToString("Brak"); // funkcja niemożliwa
            }
            if (y == 0)
            {
                x1 = -b / (2.0 * a);
                x2 = x1;
                textBox8.Text = x1.ToString(); // 1 miejsce zerowe
                textBox9.Text = x2.ToString(); // 2 miejsce zerowe
            }
            else if(y >= 0)
            {
                x1 = ((-b) - Math.Sqrt(y)) / (2 * a);
                x2 = ((-b) + Math.Sqrt(y)) / (2 * a);
                textBox8.Text = x1.ToString(); // 1 miejsce zerowe
                textBox9.Text = x2.ToString(); // 2 miejsce zerowe

            }
            else
            {
                textBox8.Text = x1.ToString("Brak"); // 1 miejsce zerowe
                textBox9.Text = x2.ToString("Brak"); // 2 miejsce zerowe
            }
            textBox7.Text = y.ToString();
0

fmax to o ile się nie mylę jest wartość maksymalna funkcji i teraz mogę napisać bzdurę ale z tego co pamiętam z matematyki to wartość maksymalna funkcji przy a dodatnim jest w szczycie paraboli (czyli punkt p lub q nas interesuje już nie pamiętam który) a jeśli a jest ujemne to maksymalna wartość dąży do nieskończoności (ale jak to piszę to samemu coś mi to nie brzmi więc może to być bzdura). Chyba ,że wartość ta ma być w danym przedziale to wtedy już inna bajka

Wzory na p i q znajdziesz np. https://matfiz24.pl/funkcja-kwadratowa/wzory tutaj

Ps. Już się doedukowałem i chodzi oczywiście o q

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