西交计算方法A上机大作业

西交计算方法A上机大作业

ID:47521783

大小:668.98 KB

页数:11页

时间:2020-01-12

西交计算方法A上机大作业_第1页
西交计算方法A上机大作业_第2页
西交计算方法A上机大作业_第3页
西交计算方法A上机大作业_第4页
西交计算方法A上机大作业_第5页
资源描述:

《西交计算方法A上机大作业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算方法A上机大作业1.共轭梯度法求解线性方程组算法原理:由定理3.4.1可知系数矩阵A是对称正定矩阵的线性方程组Ax=b的解与求解二次函数极小点具有等价性,所以可以利用共轭梯度法求解的极小点来达到求解Ax=b的目的。共轭梯度法在形式上具有迭代法的特征,在给定初始值情况下,根据迭代公式:产生的迭代序列在无舍入误差假定下,最多经过n次迭代,就可求得的最小值,也就是方程Ax=b的解。首先导出最佳步长的计算式。假设迭代点和搜索方向已经给定,便可以通过的极小化来求得,根据多元复合函数的求导法则得:令,得到:,其中然后确定搜索方向。给

2、定初始向量后,由于负梯度方向是函数下降最快的方向,故第一次迭代取搜索方向。令其中。第二次迭代时,从出发的搜索方向不再取,而是选取,使得与是关于矩阵A的共轭向量,由此可求得参数:然后从出发,沿进行搜索得到设已经求出,计算。令,选取,使得和是关于A的共轭向量,可得:具体编程计算过程如下:(1)给定初始近似向量以及精度;(2)计算,取;(3)Fork=0ton-1do(i);(ii);(iii);(iv)若,则输出近似解,停止;否则,转(v);(v);(vi);Enddo程序框图:程序使用说明:本共轭梯度法求解线性方程的程序直接打

3、开matlab运行,在求解线性方程组Ax=b(A是对称正定矩阵)的时候,直接运行程序Gongetidufa,输入A,b的值,虽然该函数是通用的,但是对于矩阵A和向量b的输入,需要使用者根据A和b的特点自行输入。算例3.4.2计算结果:对99页例题3.4.2,运行程序Gongetidufa将矩阵A,b读入系统程序如下:clearallclcA=input('请输入A的值');%输入n阶正定矩阵A的值b=input('请输入b的值:');%输入b的值n=size(A,1);%求出矩阵A的行数x=zeros(n,1);%给定x的初

4、始值e=10^(-12);%给出精度r=b-A*x;d=r;for(i=1:n)a=norm(r,2)^2/(d'*A*d);%求最佳步长x=x+a*d;j=r;r=b-A*x;if(norm(r)<=e

5、

6、i==n)break;elseB=norm(r,2)^2/norm(j,2)^2;d=r+B*d;endendx%输出最终的x的结果计算结果:x=[1;1;1]2.三次样条差值算法原理(三次样条插值函数的导出):(i).导出在子区间上的S(x)的表达式由于S(x)的二阶导数连续,设S(x)再节点处的二阶导数值S’’(xi

7、)=Mi,其中Mi为未知的待定参数。由S(x)是分段的三次多项式知,S’’(x)是分段线性函数,S’’(x)在子区间上可表示为其中hi=xi-x(i-1),对上式两次积分得到由插值条件得到将代入可得(ii).建立参数的方程组对S(x)求导可得上式中令得S(x)在xi处的左导数,令得到右导数,因为S(x)在内节点xi处一阶导数连续,所以,进一步推导可得其中,,上式为三弯矩方程组,因为三弯矩方程组只有n-1个方程,不能确定n+1个未知量Mi,所以需要再增加两个方程,由边界条件确定。第一种边界条件:此时已知.不妨取,,这时三弯矩方

8、程组化为:以上方程组系数矩阵式严格三对角占优矩阵,可用追赶法求解。求出后,代入S(x)可得三次样条插值函数的数学表达式。第二种边界条件:已知。记,则有所以:即其中所以得到第二种边界条件下的三弯矩方程组:该方程组系数矩阵是严格三对角占优矩阵,可用追赶法求解,具体追赶法的求解过程见《数值分析》教材。第三种边界条件:周期型边界条件.已知是以为周期的周期函数,则由周期性可知,,这时,可以将点看成内点,则方程组对i=n也成立,既有,也即,其中于是三弯矩方程组化为该方程组可用matlab直接解出。程序框图如下:程序使用说明:本程序是求解

9、137页例题4.6.1的运行结果,通过程序便可求得M,然后根据便可得到,在上的三次样条插值函数,进而得到整个区间上的三次样条差值函数。算例计算结果:137页例题4.6.1的计算实习1、打开matlab运行Sanciyangtiao程序2、自行输入x和y的节点值3、得出计算结果3.龙贝格积分法对于复化梯形求积公式,取积分近似值对复化辛普森求积公式因为,所以上述两式相除得所以,同理,对,和分析可得龙贝格积分算法如下:如果则取,否则,继续计算直到满足条件。程序框图:程序使用说明:运行本程序的时候,直接按照提示输入所求积分的原函数(

10、比如),然后按提示依次输入积分下限,积分上限和积分精度,然后程序便可计算出原函数在之间的积分数值。算例计算结果:209页题6.2第一小题计算实习结果4.四阶龙格-库塔法求解常微分方程的初值问题算法原理:用标准4级4阶R-K法求解一阶常微分方程的算法公式为:程序框图:开始定义变量x,y;输入

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。