数值分析作业一.doc

数值分析作业一.doc

ID:49941431

大小:474.00 KB

页数:11页

时间:2020-03-03

数值分析作业一.doc_第1页
数值分析作业一.doc_第2页
数值分析作业一.doc_第3页
数值分析作业一.doc_第4页
数值分析作业一.doc_第5页
资源描述:

《数值分析作业一.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数值分析作业一姓名:李永学号:SY1217236学院:仪器科学与光电技术学院数值分析作业一算法设计1=1考虑到矩阵A的特殊形状,所以只需要保存对角线如和b、c的数值就可以完軟的表述矩阵的所有信息和元索。因为雅可比方法会把为零的元索变成非零元索,不能利用矩阵的特殊性状,所以采用幕乘法和反幕法,用幕乘法计算出模最大的特征值,用反幕法计算岀模最小的特征值。模报大的特征值不是X.就是X501o然后利用幕乘法和原点平移的方法,即用I作为矩阵來进行幕乘法计算。与m相似的特征值利用反幕法和原点平移法进行计/-max算,即:A-

2、UkI作为矩阵来进行反幕法计算。主程序的流程如下:幕乘法了函数的流程如下:反幕法了函数的流程如下:LU分解了函数的流稈如下:Doolittle子函数的流程如下:#include#include#include#include/*LU分解子函数旬doubleLU(doublea[],doubleb,doublec,doubleL[][2],doubleU[][3]){inti;/*定义循环变量*/doubledet;/*定义行列式值*/det

3、=l.0;U[0][0]=a[0];U[0][l]=b;U[0][2J=c;Lr0][0]=b/U[0]f0];L[l][0]=c/U[0][0];U[I][0]=a[l]-L[0][0]*U[0][l];U[l][l]=b-L[0][0]*U[0][2];U[lH2]=c;L[1][1]=(b-L[1][0]*U[0][1])/U[1][0];/^DoolittleLU分解*/for(i=2;i<499;i++){U[i][0]=a[i]-L[i-l][0]*U[i-2][2]-L[i-l][l]*U[i-l]

4、[l];U[i][l]=b-L[i-l][l]*U[i-l][2];U[iH2]=c;L[i][0]=c/U[i-l][0];L[i]ri]=(b-L[i][O]*U[i-l][l])AJ[i][O];)L[499][0]=c/U[498][0];U[499][O]=a[499]-L[498][0]*U[497][2]-L[498][1]*U[498][1];U[499][lJ=b-L[498][lJ*U[498][2];L[499][l]=(b-L[499]r0]*U[498][l])/U[499][0J;U[

5、500][0]=a[500]-L[499][0]*U[498][2]-L[499][l]*U[499][1];for(i=0;i<501;i++){det*=U[i][0];1returndet;}/^DoolittleLU分解法了函数,传入参数为归一化后的uk、u0,得到的力稈•组的数值通过u0返回,返回行列式值旬intDoolittle(doubleuk[],doubleuOU,doubleL[][2],doubleU[][3]){inti;/*定义循环变量*/doubley[501];/*定义x*/y[0]

6、=uk[0];y[l]=uk[l]-L[0][0]*y[0];for(i=2;i<501;i++){y[i]=uk[i]-L[i-1][0]*y[i-2]-L[i-1][1]*y[i-1];}uO[5OO

7、=y[5OO]/U

8、5OO]lOJ;u0[499]=(y[499]-U[4991[1]*u0[500])/U[499][0];for(i=498;i>=0;i-){uO[i]=(y[i]・U[i][l严uO[i+l]・U[i]⑵*u0[i+2])/U[i][0];}return1;/*幕乘法了函数,向量矩阵A,

9、迭代初始向量u0,精度jd为传入参数,特征值咸1作为返冋参数,特征向量直接由u0获得旬doublemicheng(doublea[],doubleb,doublec,doubleu0[],doublejd)inti;/*定义循环变量*/doubleyk=0;/*定义向量范数值*/doubleuk[501];/*定义迭代向量*/doubletekO,tek1;/*定义特征值*/tekl=O;do{tek()=tek1;tekI=0.0;yk=0.0;for(i=0;i<501;i++)/*计算向量的归一化范数值*/

10、{yk+=u0[i]*u0[i];}yk=sqrt(yk);if(yk==0){prints归一化为零”);break;}for(i=0;i<501;i++)/*归一化向量*/{ukfi]=uOril/yk;}for(i=0;i<501;i++){if(i>2&&i<499)u0[i]=c*uk[i-2]+b*uk[i-1]+a[i]*uk[i]+b*uk[i+1]+c*

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

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

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