Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Nomor 6 bab 7

function [akar,langkah]=newton_sistem12(p0,tol)
fp=feval('fun',p0);
jf=feval('dfun',p0);
if det(jf)==0
error('metode Newton gagal!')
end
akar=[p0];
langkah=0;
while norm(fp)>tol
langkah=langkah+1;
q0=jf\fp;
p=p0-q0;
akar=[akar p];
p0=p;
fp=feval('fun',p0);
jf=feval('dfun',p0);
if det(jf)==0
error('metode newton gagal!')
end
end
%fungsi yang diketahui
function y=fun(x)
y=zeros(3,1);
y(1)=x(1)^3+x(1)^2*x(2)-x(1)*x(3)+6;
y(2)=exp(x(1))+exp(x(2))-x(3);
y(3)=x(2)^2-2*x(1)*x(3)-4;
%jacobiannya
function dy=dfun(x)
dy=zeros(3,3);
dy(1,1)=3*x(1)^2+2*x(1)*x(2)-x(3);
dy(1,2)=x(1)^2;
dy(1,3)=-x(1);
dy(2,1)=exp(x(1));
dy(2,2)=exp(x(2));
dy(2,3)=-1;
dy(3,1)=-2*x(3);
dy(3,2)=2*x(2);
dy(3,3)=-2*x(1);

>> p0=[-1 -2 1]';

>> [akar,langkah]=newton_sistem(p0,1e-6)

akar =

-1.0000 -1.6367 -1.4649 -1.4561 -1.4560


-2.0000 -1.5143 -1.6682 -1.6642 -1.6642

1.0000 0.3347 0.4142 0.4225 0.4225

langkah =

function[akar,langkah]=chord_modif(p0,tol,m)
%m:period memperbarui nilai awal jacobian
fp=feval('fun',p0);
jf=feval('dfun',p0);%jacobian di titik awal
q0=jf\fp;
p1=p0-q0;
akar=[p0];
langkah=0;
d1=1; d2=m;
while norm(p1-p0)>tol
for k=d1:d2
langkah=langkah+1;
akar=[akar p1];
p0=p1;
fp=feval('fun',p0);
q0=jf\fp;
p1=p0-q0;
end
%updating nilai awal jacobian
d1=m+1; d2=d2+m;
pu=akar(:,d1);
jf=feval('dfun',pu);
end
%fungsi yang diketahui
function y=fun(x)
y=zeros(3,1);
y(1)=x(1)^3+x(1)^2*x(2)-x(1)*x(3)+6;
y(2)=exp(x(1))+exp(x(2))-x(3);
y(3)=x(2)^2-2*x(1)*x(3)-4;
%derivatifnya
function dy=dfun(x)
dy=zeros(3,3);
dy(1,1)=3*x(1)^2+2*x(1)*x(2)-x(3);
dy(1,2)=x(1)^2;
dy(1,3)=-x(1);
dy(2,1)=exp(x(1));
dy(2,2)=exp(x(2));
dy(2,3)=-1;
dy(3,1)=-2*x(3);
dy(3,2)=2*x(2);
dy(3,3)=-2*x(1);
>> [akar,langkah]=chord_modif(p0,1e-6,3)

akar =

Columns 1 through 7

-1.0000 -1.6367 -1.3106 -1.5490 -1.3832 -1.4488 -1.4554

-2.0000 -1.5143 -1.7459 -1.5983 -1.7088 -1.6655 -1.6646

1.0000 0.3347 0.5032 0.3764 0.4607 0.4267 0.4227

Columns 8 through 13

-1.4560 -1.4560 -1.4560 -1.4560 -1.4560 -1.4560

-1.6642 -1.6642 -1.6642 -1.6642 -1.6642 -1.6642

0.4225 0.4225 0.4225 0.4225 0.4225 0.4225

langkah =

12

You might also like