Rozwiązywanie zadań opisanych równaniami nieliniowymi 15
,v3 +x2 -3jt-3 = 0 (7.2)
function y=wielom(x)
% wielomian, w którym zmienna x może byc wektorem y=x."3 + x.~2 -3. *x -3; return
function yzero=osx(x)
% zerowa os odciętych yzero=0; return
function [xroots,xfzero] = oblicz
% funkcja znajduje pierwiastki za pomocą roots oraz fzero % wielomian: y = x/'3+x/'2-3*x-3
format long; % zwiększenie ilości wyświetlanych cyfr disp(1 pierwiastki wyznaczone za pomocą roots xroots = roots([1 1 -3 -3]); disp(xroots);
disp(" sprawdzenie dokładności za pomocą funkcji polyval’);
epsxroots = polyval([l 1 -3 -3], xroots); disp(epsxroots);
disp('pierwiastki wyznaczone za pomocą fzero
disp('pierwiastek 1-szy w otoczeniu x0=2
xl=fzero('wielom',2); disp(xl);
disp('pierwiastek 2-gi w otoczeniu x0=-2 :');
x2 = fzero('wielom',-2); disp(x2);
disp('pierwiastek 3-ci w otoczeniu x0=0
x3=fzero('wielom',0); disp(x3);
xfzero=[xl; x2; x3];
disp(1 różnica rozwiązań xroots oraz xfzero’); roznica=xroots-xfzero; disp(różnica);
% Wykres wielomianu y=x/'3+xA2-3*x-3 fplot ( 1 [wielom(x) ,osx(x)— 2,2]); hold on;
plot(xl, 0 , 'kO',x2,0, 1bO',x3,0, 'rO’) ;
text(xl, 0.5 , 'xl') ; text(x2,0.5, 1x2') ; text(x3,0.5, ’x3') ; title{ ' Wielomian y = x^3 +x^2 - 3*x -3 ');
xlabel ( ' x'); ylabel(' y1); grid on;
return