东南大学《数值分析》上机题.docx
- 文档编号:27510703
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:17
- 大小:57.73KB
东南大学《数值分析》上机题.docx
《东南大学《数值分析》上机题.docx》由会员分享,可在线阅读,更多相关《东南大学《数值分析》上机题.docx(17页珍藏版)》请在冰豆网上搜索。
东南大学《数值分析》上机题
数值分析上机题1
设
,其精确值为
。
(1)编制按从大到小的顺序
,计算
的通用程序。
(2)编制按从小到大的顺序
,计算
的通用程序。
(3)按两种顺序分别计算
,
,
,并指出有效位数。
(编制程序时用单精度)
(4)通过本上机题,你明白了什么?
程序代码(matlab编程):
clc
clear
a=single(1./([2:
10^7].^2-1));
S1
(1)=single(0);
S1
(2)=1/(2^2-1);
forN=3:
10^2
S1(N)=a
(1);
fori=2:
N-1
S1(N)=S1(N)+a(i);
end
end
S2
(1)=single(0);
S2
(2)=1/(2^2-1);
forN=3:
10^2
S2(N)=a(N-1);
fori=linspace(N-2,1,N-2)
S2(N)=S2(N)+a(i);
end
end
S1表示按从大到小的顺序的SN
S2表示按从小到大的顺序的SN
计算结果
从大到小的顺序的值
从小到大的顺序的值
精确值
有效位数
从大到小
从小到大
0.740049
0.74005
0.740049
6
5
0.749852
0.7499
0.7499
4
4
0.749852
0.749999
0.749999
3
6
通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。
从大到小的顺序计算得到的结果的有效位数少。
计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。
数值分析上机题2
20.(上机题)Newton迭代法
(1)给定初值
及容许误差
,编制Newton法解方程
根的通用程序。
(2)给定方程
,易知其有三个根
,
,
。
1.由Newton方法的局部收敛性可知存在
,当
时,Newton迭代序列收敛于根
。
试确定尽可能大的
。
2.试取若干初始值,观察当
,
,
,
,
时Newton序列是否收敛以及收敛于哪一个根。
MATLAB程序
问题1
clc
clear
dx=0.5;
x
(1)=0.5;
while(dx>1e-6)
i=1;
error=1;
while(error>1e-8)
x(i+1)=x(i)-(1/3*x(i)^3-x(i))/(x(i)^2-1);
error=abs(x(i+1)-x(i));
i=i+1;
end
if(x(i)==0)
x
(1)=x
(1)+dx;
else
dx=dx/2;
x
(1)=x
(1)-dx;
end
end
经计算,最大的
为0.774596
问题2
clc
clear
x2
(1)=1e14;
i=1;
error=1;
while(error>1e-8)
x2(i+1)=x2(i)-(1/3*x2(i)^3-x2(i))/(x2(i)^2-1);
error=abs(x2(i+1)-x2(i));
i=i+1;
if(i>1e4)
break
end
end
对于不同得初始值收敛于不同的根,
在(-∞,-1)内收敛于
,在(-0.774,0.774)内收敛于0,在(1,+∞)内收敛于
,但在内(0.774,1)和(-1,0.774)均可能收敛于
和
。
分析:
对于不同的初值,迭代序列会收敛于不同的根,所以在某个区间内求根对于初值的选取有很大的关系。
产生上述结果的原因是区间不满足大范围收敛的条件。
数值分析上机题3
39.(上机题)列主元三角分解法对于某电路的分析,归结为求解线性方程组RI=V。
(1)编制解n阶线性方程组Ax=b的列主元三角分解法的通用程序;
(2)用所编制的程序解线性方程组RI=V,并打印出解向量,保留五位有效数;
(3)本编程之中,你提高了哪些编程能力?
程序:
clc
clear
A=[31,-13,0,0,0,-10,0,0,0
-13,35,-9,0,-11,0,0,0,0
0,-9,31,-10,0,0,0,0,0
0,0,-10,79,-30,0,0,0,-9
0,0,0,-30,57,-7,0,-5,0
0,0,0,0,-7,47,-30,0,0
0,0,0,0,0,-30,41,0,0
0,0,0,0,-5,0,0,27,-2
0,0,0,-9,0,0,0,-2,29];
b=[-15,27,-23,0,-20,12,-7,7,10]';
[m,n]=size(A);
Ap=[A,b];
x=zeros(n,1);
fori=1:
m-1
j=i;
[maxa,maxi]=max(abs(Ap(i:
end,j)));
maxi=maxi+i-1;
if(maxa~=0)
mid=Ap(maxi,:
);
Ap(maxi,:
)=Ap(i,:
);
Ap(i,:
)=mid;
fork=i:
m
Ap(i+1:
m,:
)=Ap(i+1:
m,:
)-Ap(i+1:
m,j)*(Ap(i,:
)./maxa);
end
end
end
fori=linspace(m,1,m)
x(i)=(Ap(i,end)-Ap(i,1:
end-1)*x)/Ap(i,i);
end
结果:
方程的解为(保留5位有效数字):
x1=-0.28923,x2=0.34544,x3=-0.71281,
x4=-0.22061,x5=-0.43040,x6=0.15431,
x7=-0.057823,x8=0.20105,x9=0.29023。
习题4
37.(上机题)3次样条插值函数
(1)编制求第一型3次样条插值函数的通用程序;
(2)已知汽车曲线型值点的数据如下:
0
1
2
3
4
5
6
7
8
9
10
2.51
3.30
4.04
4.70
5.22
5.54
5.78
5.40
5.57
5.70
5.80
端点条件为
=0.8,
=0.2。
用所编制程序求车门的3次样条插值函数S(x),并打印出S(i+0.5)(i=0,1,…9)。
程序:
(1)
clc
clear
%%
x=[0,1,2,3,4,5,6,7,8,9,10];
y=[2.51,3.30,4.04,4.7,5.22,5.54,5.78,5.40,5.57,5.70,5.80];
y1=0.8;
yend=0.2;
%%___________________________________________
n=size(x,2)-1;
h=x(2:
end)-x(1:
end-1);
miu=h(1:
end-1)./(h(1:
end-1)+h(2:
end));
lamda=1-miu;
f1=[y1,(y(2:
end)-y(1:
end-1))./h,yend];%f[xn-1,xn]
f2=[f1(2:
end)-f1(1:
end-1)]./[h
(1),h(1:
end-1)+h(2:
end),h(end)];%f[xn-1,xn,xn+1]
A=2.*eye(n+1);
A(2:
end,1:
end-1)=A(2:
end,1:
end-1)+diag([miu,1]');
A(1:
end-1,2:
end)=A(1:
end-1,2:
end)+diag([1,lamda]');
M=A\(6*f2');
Sx=[y(1:
end-1)',((y(2:
end)-y(1:
end-1))./h)'-((1/3*M(1:
end-1)+1/6*M(2:
end)).*h'),1/2*M(1:
end-1),1/6*(M(2:
end)-M(1:
end-1))./h'];
%%
xx=input(’x=’);
forj=2:
n+1
ifxx S=Sx(j-1,: )*[1,xx-x(j-1),(xx-x(j-1))^2,(xx-x(j-1))^3]'; break end end (2) clc clear %% x=[0,1,2,3,4,5,6,7,8,9,10]; y=[2.51,3.30,4.04,4.7,5.22,5.54,5.78,5.40,5.57,5.70,5.80]; y1=0.8; yend=0.2; %%___________________________________________ n=size(x,2)-1; h=x(2: end)-x(1: end-1); miu=h(1: end-1)./(h(1: end-1)+h(2: end)); lamda=1-miu; f1=[y1,(y(2: end)-y(1: end-1))./h,yend];%f[xn-1,xn] f2=[f1(2: end)-f1(1: end-1)]./[h (1),h(1: end-1)+h(2: end),h(end)];%f[xn-1,xn,xn+1] A=2.*eye(n+1); A(2: end,1: end-1)=A(2: end,1: end-1)+diag([miu,1]'); A(1: end-1,2: end)=A(1: end-1,2: end)+diag([1,lamda]'); M=A\(6*f2'); Sx=[y(1: end-1)',((y(2: end)-y(1: end-1))./h)'-((1/3*M(1: end-1)+1/6*M(2: end)).*h'),1/2*M(1: end-1),1/6*(M(2: end)-M(1: end-1))./h']; %% fori=0: 9 xx=i+0.5; forj=2: n+1 ifxx S(i+1)=Sx(j-1,: )*[1,xx-x(j-1),(xx-x(j-1))^2,(xx-x(j-1))^3]'; break end end end x∈[0,1]时;S(x)=2.51+0.8x-0.0014861x2-0.00851395x3 x∈[1,2]时;S(x)=3.3+0.771486(x-1)-0.027028(x-1)2-0.00445799(x-1)3 x∈[2,3]时;S(x)=4.04+0.704056(x-2)-0.0404019(x-2)2-0.0036543(x-2)3 x∈[3,4]时;S(x)=4.7+0.612289(x-3)-0.0513648(x-3)2-0.0409245(x-3)3 x∈[4,5]时;S(x)=5.22+0.386786(x-4)-0.174138(x-4)2+0.107352(x-4)3 x∈[5,6]时;S(x)=5.54+0.360567(x-5)+0.147919(x-5)2-0.268485(x-5)3 x∈[6,7]时;S(x)=5.78-0.149051(x-6)-0.657537(x-6)2+0.426588(x-6)3 x∈[7,8]时;S(x)=5.4-0.184361(x-7)+0.622227(x-7)2-0.267865(x-7)3 x∈[8,9]时;S(x)=5.57+0.256496(x-8)-0.181369(x-8)2+0.0548728(x-8)3 x∈[9,10]时;S(x)=5.7+0.058376(x-9)-0.0167508(x-9)2+0.0583752(x-9)3 S(0.5)=2.90856S(1.5)=3.67843S(2.5)=4.38147 S(3.5)=4.98819S(4.5)=5.38328S(5.5)=5.7237 S(6.5)=5.59441S(7.5)=5.42989S(8.5)=5.65976 S(9.5)=5.7323 习题五重积分的计算 23(上机题)重积分的计算 题目: 给定积分 。 取初始步长h和k,及精度 。 应用复化梯形公式,采用逐次二分步长的方法,编制计算I(f)的通用程序。 计算至相邻两次近似值之差的绝对值不超过 为止。 1)用所编程序计算积分 ,取 。 程序: clc clear %%example f=inline('tan(x.^2+y.^2)','x','y'); a=0; b=pi/3; c=0; d=pi/6; %%define error=1; k=1; n=1; while(error>0.5e-5) [x,y]=meshgrid(linspace(c,d,2^k+1),linspace(a,b,2^k+1)); h=(b-a)/2^k; l=(d-c)/2^k; z=f(x,y); z1=z(1: end-1,1: end-1); z2=z(1: end-1,2: end); z3=z(2: end,1: end-1); z4=z(2: end,2: end); t(k)=h*l/4*(sum(sum(z1))+sum(sum(z2))+sum(sum(z3))+sum(sum(z4))); %%extrapolation if(k>=2) T(1,k-1)=4/3*t(k)-1/3*t(k-1);%T (1) error=min(error,abs(t(k)-t(k-1))); if(k>=3) T(2,k-2)=16/15*T(1,k-1)-1/15*T(1,k-2);%T (2) error=min(error,abs(T(1,k-1)-T(1,k-2))); if(k>=4) T(3,k-3)=64/63*T(1,k-2)-1/63*T(1,k-3);%T(3) error=min(error,abs(T(2,k-2)-T(2,k-3))); if(k>=5) error=min(error,abs(T(3,k-3)-T(3,k-4))); end end end end k=k+1; end 计算结果: T(f)T (1)(f)T (2)(f)T(3)(f) 1 0.5197965 0.344032 0.337393 0.337709 2 0.3879734 0.337808 0.336592 0.33665 3 0.3503495 0.336668 0.336524 0.336531 4 0.3400887 0.336533 0.336521 5 0.3374218 0.336521 6 0.3367464 I(f)=0.33652 二分6次 习题6 23.(上机题)常微分方程初值问题数值解 (1)编制RK4方法的通用程序; (2)编制AB4方法的通用程序(由RK4提供初值); (3)编制AB4-AM4预测校正方法的通用程序(由RK4提供初值); (4)编制带改进的AB4-AM4预测校正方法的通用程序(由RK4提供初值); (5)对于初值问题 取步长 应用 (1)~(4)中的四种方法进行计算,并将计算结果和精确解 作比较; (6)通过本上机题,你能得到哪些结论? 程序: clc clear %%Originalquestion f=inline('-x*x*y*y','x','y'); y0=3; h=0.1; xstr=0; xend=1.5; x=xstr: h: xend; yx=3./(1+x.^3); n=size(x,2); %%RK4method RK4y (1)=y0; fori=1: n-1 k1=f(x(i),RK4y(i)); k2=f(x(i)+h/2,RK4y(i)+h/2*k1); k3=f(x(i)+h/2,RK4y(i)+h/2*k2); k4=f(x(i)+h,RK4y(i)+h*k3); RK4y(i+1)=RK4y(i)+h/6*(k1+2*k2+2*k3+k4); end %%AB4method AB4y(1: 4)=RK4y(1: 4); fori=4: n-1 AB4y(i+1)=AB4y(i)+h/24*(55*f(x(i),AB4y(i))-59*f(x(i-1),AB4y(i-1))+37*f(x(i-2),AB4y(i-2))-9*f(x(i-3),AB4y(i-3))); end %%AB4-AM4predictivemethod BM4y(1: 4)=RK4y(1: 4); fori=4: n-1 yp(i+1)=BM4y(i)+h/24*(55*f(x(i),BM4y(i))-59*f(x(i-1),BM4y(i-1))+37*f(x(i-2),BM4y(i-2))-9*f(x(i-3),BM4y(i-3))); BM4y(i+1)=BM4y(i)+h/24*(9*f(x(i+1),yp(i+1))+19*f(x(i),BM4y(i))-5*f(x(i-1),BM4y(i-1))+f(x(i-2),BM4y(i-2))); end %%ImprovedAB4-AM4predictivemethod imprBM4y(1: 4)=RK4y(1: 4); fori=4: n-1 yP(i+1)=imprBM4y(i)+h/24*(55*f(x(i),imprBM4y(i))-59*f(x(i-1),imprBM4y(i-1))+37*f(x(i-2),imprBM4y(i-2))-9*f(x(i-3),imprBM4y(i-3))); yc(i+1)=imprBM4y(i)+h/24*(9*f(x(i+1),yP(i+1))+19*f(x(i),imprBM4y(i))-5*f(x(i-1),imprBM4y(i-1))+f(x(i-2),imprBM4y(i-2))); imprBM4y(i+1)=251/270*yc(i+1)+19/270*yP(i+1); end %%Error error(1: 4,1: n)=abs([yx-RK4y;yx-AB4y;yx-BM4y;yx-imprBM4y]); 计算结果: kx(k)y(x)RK4方法误差AB4方法误差AB4—AM4误差带改进AB4—AM4误差 1 0 3 3 0 3 0 3 0 3 0 2 0.1 2.997003 2.997003 1.87E-07 2.997003 1.87E-07 2.997003 1.87E-07 2.997003 1.87E-07 3 0.2 2.97619 2.97619 3.92E-07 2.97619 3.92E-07 2.97619 3.92E-07 2.97619 3.92E-07 4 0.3 2.92113 2.921129 7.58E-07 2.921129 7.58E-07 2.921129 7.58E-07 2.921129 7.58E-07 5 0.4 2.819549 2.819547 1.61E-06 2.818389 0.00116 2.819678 0.00013 2.819588 3.88E-05 6 0.5 2.666667 2.666663 3.18E-06 2.664672 0.001994 2.666876 0.000209 2.666713 4.62E-05 7 0.6 2.467105 2.4671 5.01E-06 2.465203 0.001903 2.467252 0.000147 2.467097 8.23E-06 8 0.7 2.233805 2.233799 5.77E-06 2.233079 0.000726 2.233731 7.35E-05 2.233682 0.000122 9 0.8 1.984127 1.984123 4.13E-06 1.984951 0.000824 1.983787 0.00034 1.983885 0.000242 10 0.9 1.735107 1.735107 1.16E-07 1.737043 0.001936 1.734607 0.0005 1.734808 0.000299 11 1 1.5 1.500006 5.81E-06 1.502195 0.002195 1.499516 0.000484 1.499732 0.000268 12 1.1 1.287001 1.287013 1.13E-05 1.288763 0.001762 1.286657 0.000344 1.286821 0.000181 13 1.2 1.099707 1.099722 1.54E-05 1.100724 0.001017 1.099533 0.000174 1.099622 8.50E-05 14 1.3 0.93838 0.938397 1.77E-05 0.93871 0.000331 0.938343 3.72E-05 0.938367 1.24E-05 15 1.4 0.801282 0.8013 1.84E-05 0.801135 0.000147 0.801327 4.53E-05 0.801311 2.93E-05 16 1.5 0.685714 0.685732 1.78E-05 0.685335 0.00038 0.685796 8.18E-05 0.68576 4.62E-05 结论: 带改进的AB4-AM4预测校正方法比AB4-AM4预测校正方法精度更高,AB4方法精度最低,RK4方法的精度最高
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值分析 东南大学 数值 分析 上机