abc Matlab - elektronski priručnik
IX dio NUMERIČKA MATEMATIKA U MATLAB-u - 9.1. Numeričko rješavanje nelinearnih jednačina s jednom nepoznatom
Primjer 3.
Zadana je funkcija f(x) = x2 – sin(2x). Odredimo sve realne nule te funkcije.
Kako smo rekli, najprije moramo nacrtati graf posmatrane funkcije. Budući da funkcija sinus može poprimiti jedino vrijednosti iz segmenta [-1,1], i vrijednost x2 ne treba biti veća od 1 (bude li veća, nikako ne možemo dobiti nulu), što znači da trebamo uzeti x ϵ [-1, 1]. (Ako nula uopšte postoji, sigurno se nalazi u tom segmentu.) Stoga u novom redu radnog prostora ukucamo:
x=-1:0.01:1;
y=x.^2-sin(2*x);
plot(x,y)
pa ćemo dobiti sljedeći graf:
Dakle, vidimo da imamo ukupno dvije nule: jedna se nalazi blizu 0, a druga blizu 1. Sad otvorimo m–datoteku f.m pa ukucamo:
function y=f(x);
y=x^2 - sin(2*x);
Pohranimo unesene naredbe i vratimo se u radni prostor. Funkciju fzero pozivamo prema sljedećoj sintaksi:
fzero(@ime_funkcije, početna_aproksimacija)
U novom redu radnog prostora ukucajmo:
fzero(@f,0)
pa će MATLAB ispisati
ans =
0
To smo donekle mogli i očekivati jer je uistinu f (0) = 0. Odredimo i preostalu nulu – onu koja se nalazi ''blizu'' 1. U novom redu radnog prostora ukucajmo:
fzero(@f,1)
pa će MATLAB ispisati:
ans =
0.96687688141351
Primjer 2. x3 + x3 + x + 2 < Index > Primjer 4. f(x) = ln(x – 1) – x2 + 4
|