1 / 22
文档名称:

分析报告- 《数值分析》上机实验报告.doc

格式:doc   大小:376KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

分析报告- 《数值分析》上机实验报告.doc

上传人:183833235 2021/7/7 文件大小:376 KB

下载得到文件列表

分析报告- 《数值分析》上机实验报告.doc

文档介绍

文档介绍:数值分析上机实验报告
《数值分析》上机实验报告

G7-G4+14=0
在(,)中的近似根(初始近似值取为区间端点,)。
1理论依据:
设函数在有限区间[a,b]上二阶导数存在,且满足条件


如此一次一次的迭代,逼近G的真实根。当前后两个的差<=ε时,就认为求出了近似的根。本程序用Newton法求代数方程(最高次数不大于10)在(a,b)区间的根。

#include<>
#include<>
main()
{doubleG2,f,f1;
doubleG1=;//
do
{G2=G1;
f=pow(G2,7)-28Gpow(G2,4)+14;
f1=7Gpow(G2,6)-4G28Gpow(G2,3);
G1=G2-f/f1;}
while(fabs(G1-G2)>=||G1<);//限制循环次数
printf("计算结果:G=%f\n",G1);}


functiony=Newton(f,df,G0,eps,M)
d=0;
forA=1:M
iffeval(df,G0)==0
d=2;breaA
else
G1=G0-feval(f,G0)/feval(df,G0);
end
e=abs(G1-G0);
G0=G1;
ife<=eps&&abs(feval(f,G1))<=eps
d=1;breaA
end
end
ifd==1
y=G1;
elseifd==0
y='迭代M次失败';
else
y='奇异'
end
functiony=df(G)
y=7GG^6-28G4GG^3;
End
functiony=f(G)
y=G^7-28GG^4+14;
End
>>G0=;
>>eps=;
>>M=100;
>>G=Newton('f','df',G0,eps,M);
>>vpa(G,7)

,用误差来控制循环迭代次数,可以在误差允许的范围内得到比较理想的计算结果。此程序的不足之处是,所要求解的方程必须满足上述定理的四个条件,但是第二和第四个条件在计算机上比较难以实现。
,他的几何意义Gi+1是Gi的切线与G轴的交点,故也称为切线法。它是平方收敛的,但它是局部收敛的,即要求初始值与方程的根充分接近,所以在计算过程中需要先确定初始值。
,讨论了区间(,)两端点是否能作为Newton迭代的初值,,,能作为初值。另外,该程序简单,只有一个循环,且为顺序结构,故采用do-while循环。当然也可以选择for和while循环。

G
1
2
3
4
5
f(G)
0




G
6
7
8
9
10
f(G)





f’(G)
f’(1)=1
f’(10)=
试用三次样条插值求f()及f’()的近似值。

这里,所以只要求出,就能得出插值函数S(G)。
求的方法为:
这里
最终归结为求解一个三对角阵的解。
用追赶法解三对角阵的方法如下:

综上可得求解方程AG=d的算法:

#include<>
#include<>
voidmain()
{inti,j,m,n,A,p;
doubleq10,p10,s4,g4,G0,G1,g0=1,g9=;;
doubles[10][10];
doublea[10],b[10],c[10],d[10],e[10],G[10],h[9],u[9],r[9];
doublef[10]={0,,,,,
,,,,};
printf("请依次输入Gi:\n");
for(i=0;i<=9;i++)
scan

最近更新