Załóżmy, że mamy rozwiązać układ równań nieliniowych lub znaleźć miejsce zerowe dwóch funkcji np:
2
2 2
2 3 4sin( ) 6 0 3 2 3cos( ) 4
x xy y
x xy x
+ + − =
− + + = 0 (1)
Zamiast pisząc skrypt w OCTAVE dla wielowymiarowej metody Newtona, w tym przypadku dwuwymiarowej, korzystamy z gotowej funkcji wewnętrznej OCTAVE „ fsolve” .
Musimy zapisać nasz układ (1) w oddzielnym m.file o nazwie np. f.m function y = f(x)
y(1) = -2*x(1)^2 + 3*x(1)*x(2) + 4*sin(x(2)) - 6;
y(2) = 3*x(1)^2 - 2*x(1)*x(2)^2 + 3*cos(x(1)) +4;
Następnie w edytorze OCTAVE wywołujemy instrukcję fsolve pisząc:
>> [x, info] = fsolve('f', [1; 2]), gdzie [1; 2] jest wektorem punktu początkowego x0 Otrzymujemy wynik:
x = 0.57983 2.54621 info = 1
>>
Indykator info =1 informuje nas, że otrzymane rozwiązanie jest zbieżne, w przeciwieństwie do komunikatu info = 0 - otrzymane rozwiązanie nie jest zbieżne
Wywołanie dodatkowej instrukcji „ perror” w edytorze OCTAVE:
> perror('fsolve',1)
solution converged to requested tolerance
>>
informuje nas, że otrzymane rozwiązanie jest zbieżne z żądaną dokładnością (tolerancją) Jak widać „ fsolve” jest wygodną instrukcją OCTAVE numerycznego rozwiązywania układów równań nieliniowych lub znajdowania zer układów funkcji nieliniowych.