欢迎来到天天文库
浏览记录
ID:46242152
大小:204.45 KB
页数:11页
时间:2019-11-22
《数值分析作业一》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数值分析作业一姓名:李永学号:SY1217236学院:仪器科学与光电技术学院数值分析作业一考虑到矩阵A的特殊形状,所以只需要保存对角线舫和b、C的数值就可以完整的表述矩阵的所有信息和元素。因为雅可比方法会把为零的元素变成非零元素,不能利用矩阵的特殊性状,所以采用幕乘法和反幕法,用幕乘法计算出模最人的特征值,用反幕法计算出模最小的特征值。模最大的特征值不是八就是Xsoio然后利用幕乘法和原点平移的方法,即川I作为矩阵來进行幕乘法计算。与山相似的特征值利川反幕法和原点平移法进行计"max算,BP:A-UkI作为矩阵来进行反幕法计算。主程序的流程如下:幕
2、乘法子函数的流程如下:反幕法了函数的流程如下:LU分解子函数的流程如下:Doolittle子函数的流程如F:#include#include#include#include/*LU分解子函数*/doubleLU(doublea[],doubleb,doublec,doubleL[][2],doubleU[][3]){inti;/*定义循环变量*/doubledet;/*定义行列式值*/dct=1.0;U[0][0]=a[0];U[O][lJ=b;U[0][2]=c;L[0][
3、0]=b/U[0][0];L[l][0]=c/U[0][0];U[l][0]=a[l]-L[0][0]*U[0][l];U[l][l]=b丄[0][0]*U[0]⑵;U[l][2]=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]⑵-L[i-l][l]*U[i-l][l];U[i][l]=b-L[i-l][l]*U[i-l][2];U[i][2]=c;L[i][0]=c/U[i-l][0];L[
4、i][1]=(b-L[i][0]*U[i-1][1])/U[i][0];LL499J[0J=c/U[498JL0J;U[499][0]=a[499]-L[498][0]*Ul497][2]-L[498][l]*U[498][l];U[499][1]=b-L[498][1]*U[498][2];L[499][1]=(b-L[499][0]*U[498][1])/U[499][0];U[500][0]=a[500]-L[499][0]*U[498][2]-L[499][l]*U[499][l];for(i=0;i<501;i++){det*=U[i][
5、()l;returndet;/^DoolittleLU分解法子函数,传入参数为归一化后的uk、u0,得到的方程组的数值通过u0返回,返回行列式值*/intDoolittle(doubleuk[],doubleuO[J,doubleL[][2J,doubleU[][3]){inti;/*定义循环变:fi*/doubley[501];/*定义x*/y[OJ=ukLOJ;y[lJ=uk[l]-LlOJ[OJ*ylO];for(i=2;i<501;i++){y[i]=uk[i]-L[i-l][0]*y[i-2]-L[i-l][l]*y[i-l];)uO[5
6、OO]=y[5OO]/U[5OO][O];u0[499]=(y[499]-U[499][l]*u0[500])/U[499][0];for(i=498;i>=0;i-){u0[i]=(y[i]-U[i][1]*u0[i+1]-U[i][2]*u0[i+2])/U[i][0];}return1;/*幕乘法子函数,向量矩阵A,迭代初始向量u0,楮度jd为传入参数,特征值Wkl作为返回参数,特征向量直接由u0获得*/doublemichcng(doublca[],doubleb,doublec,doubleu0[],doublejd)inti;/*定义循
7、环变量*/doubleyk=0;/*定义向量范数值*/doubleukL501J;/*定义迭代向量*/doubletek(),tekl;/*定义特征值*/tekl=0;do{tckO=tck1;tek1=0.0;yk=0.0;for(i=0;i<501;i++)/*计算向量的归一化范数值*/{yk+=u0[i]*u0[i];}yk=sqrt(yk);if(yk==0){printf(H归一化为零”);break;}for(i=0;i<501;i++)/*归一化向量*/{ukfi]=u()(i]/yk;}for(i=0;i<501;i++){if(i
8、>2&&iv499)u0[i]=c*uk[i-2]+b*uk[i-1]+a[i]*uk[i]+b*uk[i+1]+c*uk
此文档下载收益归作者所有