( Vyhledání nulových hodnot funkcí ) MATLAB® ( Vyhledání nulových hodnot funkcí )
Funkce funkcí Nalezení nulové hodnoty funkce jedné proměnné Nalezení minima funkce jedné proměnné či více proměnných Nalezení hodnoty integrálu Řešení soustavy diferenciálních rovnic Je třeba zadat analytické vyjádření funkce jako funkci do samostatného m-File. Funkce mají jako první parametr jméno funkce (m-File).
Vyhledání nulové hodnoty funkce ( fzero ) Nevyhledává všechny kořeny, ale jen ty co jsou v blízkosti udané počáteční hodnoty ! ) fzero(' název funkce ',počáteční_hodnota_x) Příklady: function y=fce_a(x) (samostaté m-file) y=x.*exp(x/10)-1; function y=fce_b(x) y=x.^2+x+1; function y=fce_c(x) y=sin(x)-x/10;
koren_a=fzero('fce_a',0) koren_b=fzero('fce_b',0) - skončí chybou , Všechny rovnice přepíšeme na tvar y=f(x)=0 a zapíšeme jako samostatné funkce Matlabu. koren_a=fzero('fce_a',0) koren_b=fzero('fce_b',0) - skončí chybou , nemá řešení v oboru reálných čísel ( výpočet kořenů: roots( [1 1 1] ) koren_c=fzero('fce_c',0) - vyjde 0 koren_c=fzero('fce_c',10) - vyjde 8.4232 …nelineární funkce může mít větší počet kořenů stačí určit interval a v něm si funkci vykreslit x=-10:0.05:10; plot(x,fce_c(x),x,zeros(size(x))) nebo ezplot('sin(x)-x/10 ' ,[-10 10])
Hodnoty kořenů: x1=fzero('fce_c',-10) x2=fzero('fce_c',-6) x3=fzero('fce_c',-4) x4=fzero('fce_c',-0) x5=fzero('fce_c',-3) x6=fzero('fce_c',7) x7=fzero('fce_c',10) Grafický odhad kořene s nejmenší hodnotou (tj. – 8.5) : x=-8.5:0.001:-8.4; plot(x,fce_c(x),x,zeros(size(x)))