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 4.

Zadana je funkcija f(x) = ln(x – 1) – x2 + 4. Odredimo sve realne nule te funkcije.

Kao i u prethodnom primjeru, najprije nacrtajmo graf posmatrane funkcije. Budući da je logaritamska funkcija g(x) = ln(x – 1) definisana za x ϵ (1, +∞), njen ćemo graf nacrtati na segmentu [1.1, 10]. U novi red radnog prostora ukucajmo:

x=1.1:0.01:10;
y=log(x-1)-x.^2+4;
plot(x,y)

pa ćemo dobiti sljedeći graf:

 

Grubo govoreći, funkcija je ''uglavnom'' padajuća (pokažite to ''klasičnim'' načinom koristeći prvu derivaciju!), a za određivanje njene nule zanima nas njeno ponašanje na segmentu [1.1, 3]. U novi red radnog prostora ukucajmo:

x=1.01:0.01:3;
y=log(x-1)-x.^2+4;
plot(x,y)

pa ćemo dobiti sljedeći graf:

 

Sada vidimo da naša funkcija ima dvije nule: jednu ''blizu'' 1.2 i jednu ''blizu'' 2. Otvorimo m–datoteku f.m i ukucajmo:

function y=f(x);
y=log(x-1)-x^2+4;

Pohranimo unesene naredbe i vratimo se u radni prostor. U njegov novi red ukucajmo:

fzero(@f,1.2)

pa će MATLAB ispisati:

ans =
1.05584398367821

Nakon toga, ukucajmo:

fzero(@f,2)

pa će MATLAB ispisati:

ans =
2

i to su jedine dvije nule posmatrane funkcije.

Napomena: Funkcija fzero dozvoljava da se umjesto početne aproksimacije unese i segment u kojem se nalazi tačno jedna nula funkcije f(x). Takve primjere ovdje nećemo razmatrati jer se oni suštinski nimalo ne razlikuju od Primjera 1. i 2. koje smo rješavali metodom polovljenja.

Primjer 3. f(x) = x2 – sin(2x)    <    Index    >    Primjer 5. f (x) = log(x + 1) i g(x) = ex sin x