资源描述
实验八
一、编程并在计算机上调试修改运行
根据P125框图编写Newton法求根程序.以课本P125例1测试,并以不同初值及精度计算习题P1352、3 .
二、阅读理解下列程序,并在计算机上运行.
1. 比较下列两个复化梯形求积公式程序
(1) ftx.m %a,b是积分上下限,n等分数
function T=ftx(a,b,n)
h=(b-a)/n;T=0;
for x=a+h:h:b-h
T=T+f(x);
end
T=h*(2*T+f(a)+f(b))/2;
function y=f(x) %子函数
if x==0
y=1;
else
y=sin(x)/x;
end
(2) ftx1.m %a,b是积分上下限,n等分数
function T=ftx1(a,b,n)
h=(b-a)/n;x=a:h:b;
T=h*(f(a)+2*sum(f(x(2:n)))+f(x(n+1)))/2;
function y=f(x) %子函数
if x==0
y=1;
else
y=sin(x)./x;
end
2. fsim.m (复化Simpson求积公式)%a,b是积分上下限,n等分数
function s=fsim(a,b,n)
h=(b-a)/(2*n);
x1=a:2*h:b;x2=a+h:2*h:b-h;
y1(1)=f(a);y1(2:n+1)=f(x1(2:n+1));
y2=f(x2);
s=h*(2*sum(y1)-y1(1)-y1(n+1)+4*sum(y2))/3;
function y=f(x) %子函数
if x==0
y=1;
else
y=sin(x)./x;
end
3. tx.m (变步长梯形法) %a,b是积分上下限,w精度
function [T2,k]=tx(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) %子函数
if x==0
y=1;
else
y=sin(x)/x;
end
三、对复化梯形、Simpson公式及变步长梯形法程序作适当修改,计算P8817 .
3
展开阅读全文