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