1、实验十
一、阅读理解下列程序,并在计算机上运行
1. xjfdd.m % x0,x为初值,w为精度,n为最大迭代次数
function [a,k]=xjfdd(x0,x,w,n)
a(1:2)=[x0,x];
for k=1:n
if f(x)-f(x0)==0
disp('分母为零')
break
end
y=x-(x-x0)*f(x)/(f(x)-f(x0));a(k+2)=y;
if abs(y-x)>w
x=y;
else
break
2、 end
end
if k==n
disp('迭代失败')
end
function y=f(x) %子函数
y=x*exp(x)-1;
2. kxjfdd.m % x0,x为初值,w为精度,n为最大迭代次数
function [a,k]=kxjfdd(x0,x1,w,n)
a(1:2)=[x0,x1];
for k=1:n
if f(x1)-f(x0)==0
disp('分母为零')
break
end y=x1-(x1-x0)*f(x1)/(f(x1)-f(x0));
a(k
3、2)=y;
if abs(y-x1)>w
x0=x1;x1=y;
else
break
end
end
if k==n
disp('迭代失败')
end
function y=f(x) %子函数
y=x*exp(x)-1;
3. %利用ex的展开式计算函数ex的值
(1) qexp.m
function [E,k,F]=qexp(x,w,n)
E=0;F=1;
for k=1:n
E=E+F;
F=x*F/k;
if abs(E-exp(x)
4、)0
E=E+F;
F=x*F/k;
k=k+1;
end
4. % 利用sin(x)的展开式计算其函数值
(1) qsin.m
function [s,k,T]=qsin(x)
s=0;T=x;k=1;
while abs(T)>0
s=s+T;
T=-x*x*T/(2*k*(2*k+1));
k=k+1;
end
(2) q
5、sn.m
function [s,k,T]=qsn(x,w,n)
s=0;T=x;
for k=1:n
s=s+T;
T=-x*x*T/(2*k*(2*k+1));
if abs(s-sin(x))