资源描述
实验九
一、阅读理解下列程序,并在计算机上运行.
1. newdd.m % x为初值,w为精度,n为最大迭代次数
function [a,k]=newdd(x,w,n)
a=[];a(1)=x;
for k=1:n
if df(x)==0
disp('分母为零')
break
end
y=x-f(x)/df(x);a(k+1)=y;
if abs(y-x)>w
x=y;
else
break
end
end
if k==n
disp('迭代失败')
end
function y=f(x)
y=x*exp(x)-1;
function y=df(x) %导函数
y=(1+x)*exp(x);
2. ftx17.m %a,b是积分上下限,n等分数
function T=ftx17(a,b,n)
h=(b-a)/n;x=a:h:b;
T=h*(f(a)+2*sum(f(x(2:n)))+f(b))/2;
function y=f(x) %子函数
y=1+sin(4*x).*exp(-x);
3. fsim17.m (复化Simpson求积公式)%a,b是积分上下限,n等分数
function s=fsim17(a,b,n)
h=(b-a)/(2*n);
x1=a:2*h:b;x2=a+h:2*h:b-h;
y1=f(x1);y2=f(x2);
s=h*(2*sum(y1)-f(a)-f(b)+4*sum(y2))/3;
function y=f(x) %子函数
y=1+sin(4*x).*exp(-x);
4. tx17.m (变步长梯形法) %a,b是积分上下限,w精度
function [T2,k]=tx17(a,b,w)
h=b-a;T2=h*(f(a)+f(b))/2;T1=0;k=0;
while abs(T2-T1)>w
s=0;x=a+h/2;T1=T2;
while x<b
s=s+f(x);x=x+h;
end
T2=(T1+h*s)/2;
h=h/2;k=k+1;
end
function y=f(x) %子函数
y=1+sin(4*x)*exp(-x);
二、编程并在计算机上调试修改运行
1. P137 17、18.
2. 利用公式计算
3. 利用公式计算
3
展开阅读全文