《数值分析与算法》喻文健,清华大学出版社,例题matlab源程序
%P33 example 2-2
a=1.0;
b=1.5;
while b-a>eps
x=a+(b-a)/2
if f_ex22(a)*f_ex22(x)>0 a=x;
else
b=x;
end
end
%P36 example 2-4
x=1.5
for i=1:10
x=(x+2)^(1/4)
end
%P42 example 2-7
x=1.5
for i=1:10
x=(3*x^4+2)/(4*x^3-1) end
%P54 example2-9
x01=1;
x02=2;
x0=[x01;x02];
for i=1:8
x01=x0(1,1);
x02=x0(2,1);
f01=x01+2*x02-2;
f02=x01^2+4*x02^2-4;
J01=[1,2];
J02=[2*x01,8*x02];
s0=inv([J01;J02])*[f01;f02]x1=x0-s0
x0=x1;
end
P94 example 3-14
A=[5 -1 -1;-1 3 -1;-1 -1 5];
A(:,1)=A(:,1)./sqrt(A(1,1));
A(2,2)=sqrt(A(2,2)-A(2,1)^2);
A(3,2)=(A(3,2)-A(3,1)^2)/A(2,2); A(3,3)=sqrt(A(3,3)-A(3,1)^2-A(3, 2)^2);
%%% P111, 6
n=12;
a=hilb(n);
x=ones(n,1);
b=a*x;
b=b+10^(-7)*ones(n,1);
L=chol(a,'lower'); %Cholesky
y=ones(n,1);
y(1)=b(1)/L(1,1);
for i=2:n
y(i)=(b(i)-sum(L(i,1:i-1)*y(1:i-1,1)))/L(i,i);%% L lower
end
M=L';
x(n)=y(n)/M(n,n);
for i=n-1:-1:1
x(i)=(y(i)-sum(M(i,i+1:n)*y(i+1: n,1)))/M(i,i);%% L' upper
end
r=b-a*x;
delt_x=x-ones(n,1);
norm_r=norm(r,inf) % norm of r norm_delt_x=norm(delt_x,inf) % norm of delt_x