Miejsca zerowe funkcji

0

Witam, Robię własnie program na zaliczenie który ma obliczać miejsca zerowe różnych funkcji oraz różnymi metodami. Moje pytanie polega na tym jak wyliczyć miejsca zerowe funkcji kwadratowej metodą inną niż z delty i wzorów Viet'a oraz jak zabrać się za wielomiany. Bardzo prosił bym o jakąkolwiek pomoc.

PS Co do tych wielomianów to nie mam podanej funkcji tylko użytkownik podaje stopień oraz wartości tego wielomianu.

1

A w google brakło wiedzy na temat funkcji kwadratowej?

0
  1. nie musisz obliczać różnymi metodami kiedy masz metodę dokładną, delta - metoda dokładna
  2. dla innych funkcji całkujesz, pomiędzy ekstremami szukasz zer, np metodą połowienia lub metodą siecznych
0

No włśnie muszę mieć kilka metod (wymagania prowadzącego...) delte już dawno mam zrobioną, spróbuje coś metodą połowienia zrobić.

0
KraKersowy napisał(a):

No włśnie muszę mieć kilka metod (wymagania prowadzącego...) delte już dawno mam zrobioną, spróbuje coś metodą połowienia zrobić.

http://edu.i-lo.tarnow.pl/inf/alg/005_root/0013.php
http://edu.i-lo.tarnow.pl/inf/alg/005_root/0010.php

Dla bisekcji / połowienia miejsca w których znaki są różne możesz poszukać metodą Monte Carlo (losujesz w przedziale dwa punkty i patrzysz czy znaki są różne - jeśli tak, to pomiędzy punktami masz miejsce zerowe).

0

Zrobiłem jak na razie dla funkcji kwadratowej metodą półowienia, tylko mam jeden problem, znajduje mi tylko jedno miejsce zerowe i nie mam pojęcia jak wyciągnąć drugie z tych obliczeń;/ mógłby mi ktoś pomóc? oto kod:

 
x0:=p1;
       x1:=x0-1;
       f0:=(a*(x0*x0))+(b*x0)+c;
       i:=Round((1/dok)*(p2-p1));
       while (i > 0) and (abs(x1 - x0) > EPSX) and (abs(f0) > dok) do
         begin
           fp:=(a*2*p1)+b;
           if abs(fp) < dok then
             begin
               MessageDlg('Zly punkt startowy', mtInformation, [mbOK],0);
               i:=0;
               break;
             end;
           x1:=x0;
           x0:=x0-f0/fp;
           f0:=(a*(x0*x0))+(b*x0)+c;
           dec(i);
           if i=0 then
              MessageDlg('Przekroczony limit obiegow', mtInformation, [mbOK],0);
         end;
       if i>0 then
         Edit10.Text:=FloatToStr(RoundTo(x0,-d)); 

i kolejne pytanie mam czy da się w komponencie TChart narysować wykres funkcji?

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