Definicję funkcji transcendentalnej źródła jak Britannica podają inaczej:
"In mathematics, a function not expressible as a finite combination of the algebraic operations of addition, subtraction, multiplication, division, raising to a power, and extracting a root. Examples include the functions log x, sin x, cos x, e^x and any functions containing them."
Warto zauważyć, że ex nie ma w ogóle miejsc zerowych i raczej nie od ich występowania powinna zależeć definicja.
Wedle tej definicji co teraz podałeś, to W(x)=x2−2 też jest wielomianem transcendentalnym (bo przybliżenia √2 szuka się m.in. metodami numerycznymi).
Książki nie widzi google, masz linka do niej?
PS. Po polsku raczej należałoby w ogóle pisać o funkcji/wielomianie przestępnym, tak jak "transcendental number" to liczba przestępna właśnie.
Niewymierne pierwiastki wielomianu?
Otrzymałeś(aś) rozwiązanie do zamieszczonego zadania? - podziękuj autorowi rozwiązania! Kliknij
-
- Fachowiec
- Posty: 2084
- Rejestracja: 01 sty 2021, 09:38
- Podziękowania: 4 razy
- Otrzymane podziękowania: 493 razy
Re: Niewymierne pierwiastki wielomianu?
Książka jest dostępna na przykład na Amazon.
Numerycy przyjełi taką a nie inną definicję funkcji transcendentalnej (wielomianu transcendentalnego) i co z tego?
Algebraicy przyjęli wielomiany przestępne i co z tego?
Numerycy przyjełi taką a nie inną definicję funkcji transcendentalnej (wielomianu transcendentalnego) i co z tego?
Algebraicy przyjęli wielomiany przestępne i co z tego?
-
- Stały bywalec
- Posty: 337
- Rejestracja: 29 paź 2010, 12:44
- Podziękowania: 22 razy
- Otrzymane podziękowania: 92 razy
- Płeć:
Re: Niewymierne pierwiastki wielomianu?
Link?
W sensie jaką, bo podałeś dwie różne, a definicja na angielskiej wikipedii jest całkiem inna od Twojej.
?
Może wstawisz zdjęcie fragmentu tejże książki z tak trudno dostępną definicją?
-
- Fachowiec
- Posty: 2084
- Rejestracja: 01 sty 2021, 09:38
- Podziękowania: 4 razy
- Otrzymane podziękowania: 493 razy
Re: Niewymierne pierwiastki wielomianu?
Metoda Bisekcji - znajdowania pierwiastków równań bazuje na twierdzeniu Darboux "o przyjmowaniu wartości pośrednich".
Jeśli funkcja f(x) jest funkcją ciągłą w przedziale [a,b] taką, że w końcach tego przedziału przyjmuje wartości
różnych znaków, f(a)⋅f(b)<0, to istnieje przynajmniej jeden punkt α∈[a,b], taki, że [/tex]
f(α)=0.
Zakładamy, że funkcja posiada dokładnie jedno miejsce zerowe α w rozpatrywanym przedziale [a,b].
Metoda bisekcji polega na połowieniu przedziału [a,b] na co raz mniejsze przedziały [an,bn]⊂[a,b],n=1,2,..
Na początku wyznaczamy środek c=a+b2 każdego przedziału , później obliczamy znak iloczynu f(c)⋅f(b).
Jeśli iloczyn jest ujemny, oznacza to, że poszukiwany pierwiastek znajduje się w przedziale [c,d], jeśli zaś dodatni - w przedziale
[a,c].
Następnie rozpatrujemy nowy przedział zawierający α.
Proces połowienia kontynuujemy dopóty, dopóki różnica |an−bn|<ε,
gdzie ε jest wartością przyjętej dokładności (tolerancji) wyniku.
Innym stop- kryterium, które możemy przyjąć, jest wartość błędu wględnego: |an−bn||an|<ε
lub spełniona nierówność:
|f(an|<ε.
Program Metody Bisekcji w OCTAVE
Przykładowa funkcja:
Przykładowe wywołanie programu:
Wyniki:
Dokładność metody bisekcji .
Jeśli funkcja f jest ciągła w przedziale [a,b] i taka, że f(a)⋅f(b)<0, to n− ty krok
metody bisekcji przybliża poszukiwany pierwiastek równania z błędem nie mniejszym niż (b−a)2n+1.
Dowód
Niech [a0,b0] będzie wyjściowym przedziałem zawierającym miejsce zerowe funkcji f, α.
Definiujemy środek przedziału [a0,b0] to jest punkt c0=b0+c02 i α∈[a0,b0].
Stąd
|α−c0|<(b1−a1)=b0−a02.
gdzie punkty a1,b1 są końcami nowego przedziału zawierającego α.
Jeśli przez cn oznaczymy wartość c w n− tej iteracji, to
|α−cn|<|bn+1−an+1|=b0−a02n+1, n=0,1,2,...
Na przykład dla wielomianu
f(x)=x3−6x2+12x−26 przyjęliśmy dokładność tol=10−4 i otrzymaliśmy
|α−cn|≤b−a2n+1=2−12n+1<10−4
−(n+1)log(2)≤−6
n≥6log(2)−1≈7 iteracji.
Jeśli funkcja f(x) jest funkcją ciągłą w przedziale [a,b] taką, że w końcach tego przedziału przyjmuje wartości
różnych znaków, f(a)⋅f(b)<0, to istnieje przynajmniej jeden punkt α∈[a,b], taki, że [/tex]
f(α)=0.
Zakładamy, że funkcja posiada dokładnie jedno miejsce zerowe α w rozpatrywanym przedziale [a,b].
Metoda bisekcji polega na połowieniu przedziału [a,b] na co raz mniejsze przedziały [an,bn]⊂[a,b],n=1,2,..
Na początku wyznaczamy środek c=a+b2 każdego przedziału , później obliczamy znak iloczynu f(c)⋅f(b).
Jeśli iloczyn jest ujemny, oznacza to, że poszukiwany pierwiastek znajduje się w przedziale [c,d], jeśli zaś dodatni - w przedziale
[a,c].
Następnie rozpatrujemy nowy przedział zawierający α.
Proces połowienia kontynuujemy dopóty, dopóki różnica |an−bn|<ε,
gdzie ε jest wartością przyjętej dokładności (tolerancji) wyniku.
Innym stop- kryterium, które możemy przyjąć, jest wartość błędu wględnego: |an−bn||an|<ε
lub spełniona nierówność:
|f(an|<ε.
Program Metody Bisekcji w OCTAVE
Kod: Zaznacz cały
function bisect(f,a,b,tol,n)
a0=a;
b0=b;
iter=0;
u=feval(f,a);
v=feval(f,b);
c=(a+b)*0.5;
err=abs(b-a)*0.5;
disp('__________________________________________________________________ ')
disp(' iter a b c f(c) |b-a|/2 ')
disp('___________________________________________________________________')
fprintf('\n')
if (u*v<=0)
while (err>tol)&(iter<=n)
w=feval(f,c);
fprintf('%2.0f %10.4f %10.4f %12.6f %10.6f %10.6f\n',iter,a,b,c,w,err)
if (w*u<0)
b=c;
v=w;
end;
if (w*u>0)
a=c;
u=w;
end;
iter=iter+1;
c=(a+b)*0.5;
err=abs(b-a)*0.5;
end;
if (iter>n)
disp('Metoda nie jest zbieżna')
end;
else
disp('Metoda nie może by stosowana f(a)f(b)>0')
end;
Przykładowa funkcja:
Kod: Zaznacz cały
function f=f1(x)
f=x.^3- 6x.^2+12*x -26;
Przykładowe wywołanie programu:
Kod: Zaznacz cały
>> bisect('f1',3,5,10^(-4),40)
Wyniki:
Kod: Zaznacz cały
iter a b c f(c) |b-a|/2
___________________________________________________________
0 3.0000 5.0000 4.307691 -5.710514 2.000000
1 4.3076 5.0000 4.576441 -0.897457 0.692308
2 4.5764 5.0000 4.614848 -0.121168 0.423559
3 4.6148 5.0000 4.619964 -0.016012 0.385152
4 4.6200 5.0000 4.620639 -0.002110 0.380036
5 4.6206 5.0000 4.620728 -0.000278 0.379361
6 4.6206 5.0000 4.620740 -0.000037 0.379271
7 4.6206 5.0000 4.620739 -0.000036 0.379270
8 4.6207 5.0000 4.620738 -0.000035 0.379269
Jeśli funkcja f jest ciągła w przedziale [a,b] i taka, że f(a)⋅f(b)<0, to n− ty krok
metody bisekcji przybliża poszukiwany pierwiastek równania z błędem nie mniejszym niż (b−a)2n+1.
Dowód
Niech [a0,b0] będzie wyjściowym przedziałem zawierającym miejsce zerowe funkcji f, α.
Definiujemy środek przedziału [a0,b0] to jest punkt c0=b0+c02 i α∈[a0,b0].
Stąd
|α−c0|<(b1−a1)=b0−a02.
gdzie punkty a1,b1 są końcami nowego przedziału zawierającego α.
Jeśli przez cn oznaczymy wartość c w n− tej iteracji, to
|α−cn|<|bn+1−an+1|=b0−a02n+1, n=0,1,2,...
Na przykład dla wielomianu
f(x)=x3−6x2+12x−26 przyjęliśmy dokładność tol=10−4 i otrzymaliśmy
|α−cn|≤b−a2n+1=2−12n+1<10−4
−(n+1)log(2)≤−6
n≥6log(2)−1≈7 iteracji.
-
- Fachowiec
- Posty: 2084
- Rejestracja: 01 sty 2021, 09:38
- Podziękowania: 4 razy
- Otrzymane podziękowania: 493 razy
Re: Niewymierne pierwiastki wielomianu?
METODA SIECZNYCH W PROGRAMIE MATLAB
Uruchomienie programu
Wyniki
Kod: Zaznacz cały
function secant(f,x0,x1,tol,n)
% Metoda siecznych rozwiązywania równania nielinowego f(x)=0.
iter=0;
u=feval(f,x0);
v=feval(f,x1);
err=abs(x1-x0);
disp('_______________________________________________')
disp(' iter xn f(xn) f(xn+1)-f(xn) |xn+1-xn| ')
disp('_______________________________________________')
fprintf('%2.0f %12.6f %12.6f\n',iter,x0,u)
fprintf('%2.0f %12.6f %12.6f %12.6f %12.6f\n',iter,x1,v,v-u,err)
while (err>tol)&(iter<=n)&((v-u)~=0)
x=x1-v*(x1-x0)/(v-u);
x0=x1;
u=v;
x1=x;
v=feval(f,x1);
err=abs(x1-x0);
iter=iter+1;
fprintf('%2.0f %12.6f %12.6f %12.6f %12.6f\n',iter,x1,v,v-u,err)
end
if ((v-u)==0)
disp('Dzielenie przez zero')
end
if (iter>n)
disp('Metoda nie jest zbieżna')
end
function f = f1(x)
f = x.^3 - 6*x.^2+12*x -26;
Kod: Zaznacz cały
>> secant('f1',3,5,10^(-4),40)
Kod: Zaznacz cały
iter xn f(xn) f(xn+1)-f(xn) |xn+1-xn|
________________________________________________________
0 3.000000 -17.000000
0 5.000000 9.000000 26.000000 2.000000
1 4.307692 -5.710514 -14.710514 0.692308
2 4.576441 -0.897458 4.813056 0.268749
3 4.626553 0.120011 1.017469 0.050112
4 4.620642 -0.002044 -0.122055 0.005911
5 4.620741 -0.000005 0.002039 0.000099
-
- Fachowiec
- Posty: 2084
- Rejestracja: 01 sty 2021, 09:38
- Podziękowania: 4 razy
- Otrzymane podziękowania: 493 razy
Re: Niewymierne pierwiastki wielomianu?
Porównując Metody Regułę Falsi, Bisekcji i Siecznych - znajdowania pierwiastka transcendentantalnego wielomianu w(x)=x3−6x2+12x−26,
możemy stwierdzić, że najszybciej zbieżną z ponad liniowym wykładnikiem zbieżności rzędu p=1,7 jest metoda Reguła Falsi (Fałszywej Pozycji).
Na drugim miejscu - Metoda Siecznych z ponad liniowym wykładnikiem zbieżności rzędu p=1,62. Na trzecim Metoda Bisekcji (Połowienia) z liniowym wykładnikiem zbieżności rzędu p=1.
Najszybciej zbieżną metodą iteracyjną z kwadratowym wykładnikiem zbieżności jest Metoda Newtona-Raphsona, którą przy okazji przedstawię Państwu.
możemy stwierdzić, że najszybciej zbieżną z ponad liniowym wykładnikiem zbieżności rzędu p=1,7 jest metoda Reguła Falsi (Fałszywej Pozycji).
Na drugim miejscu - Metoda Siecznych z ponad liniowym wykładnikiem zbieżności rzędu p=1,62. Na trzecim Metoda Bisekcji (Połowienia) z liniowym wykładnikiem zbieżności rzędu p=1.
Najszybciej zbieżną metodą iteracyjną z kwadratowym wykładnikiem zbieżności jest Metoda Newtona-Raphsona, którą przy okazji przedstawię Państwu.
- Jerry
- Expert
- Posty: 3828
- Rejestracja: 18 maja 2009, 09:23
- Podziękowania: 53 razy
- Otrzymane podziękowania: 2058 razy
Re: Niewymierne pierwiastki wielomianu?
Fascynujące bicie piany...
Info: User założył topik tylko po to, żeby przemycić w swoim podpisie szkodliwy link! Nota bene - już skasowałem!
Pozdrawiam
Info: User założył topik tylko po to, żeby przemycić w swoim podpisie szkodliwy link! Nota bene - już skasowałem!
Pozdrawiam