资源描述:
《数值分析程序报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数值分析程序报告思想。Neiu=2;%%%初始值x0x0=input('inputinitialvaluex0>>');k=0;%迭代次数max=100;%最大迭代次数R=eval(subs(f,'x0','x'));%求解f(x0),以确定初值x0时否就是解iu*eval(subs(f,'x0','x'))/eval(subs(df,'x0','x'));R=x1-x0;x0=x1;k=k+1;if(eval(subs(f,'x0','x'
2、;))<1e-10);breakendifk>max;%如果迭代次数大于给定值,认为迭代不收敛,重新输入初值ss=input('mayberesultiserror,chooseanep(ss,'y')x0=input('inputinitialvaluex0>>');k=0;elsebreakendendendk;%给出迭代次数x=x0;%给出解结果分析和讨论:x2?0在[1,2]内的根。(??5*10?6,下同)1.用二分法计算方程sinx?2计算结果为x=1.40441513061523;f(x)=-3.7972051059
3、04311e-007;k=18;由f(x)知结果满足要求,但迭代次数比较多,方法收敛速度比较慢。2.用二分法计算方程x3?x?1?0在[1,1.5]内的根。计算结果为x=1.32471847534180;f(x)=2.209494846194815e-006;k=17;由f(x)知结果满足要求,但迭代次数还是比较多。3.用Neaxaiki?k(k?1)并将第r行和第k行的元素进行交换,以使得当前的akk的数值比0要大的多。这种列主元的消去法的主要步骤如下:1.消元过程对k=1,2,…,n-1,进行如下步骤。1)选主元,记
4、ark
5、?aiki?k若
6、ark
7、很小,这说明方程的系数矩阵严重病态,给
8、出警告,提示结果可能不对。2)交换增广阵A的r,k两行的元素。arj?akj(j=k,…,n+1)3)计算消元aij?aij?aikakj/akk(i=k+1,…,n;j=k+1,……,n+1)2.回代过程对k=n,n-1,…,1,进行如下计算篇二:数值分析实验报告(包含源程序)课程实验报告课程实验报告篇三:数值分析实验报告数值分析实验报告课题一:解线性方程组的直接方法1.实验目的:1、通过该课题的实验,体会模块化结构程序设计方法的优点;2、运用所学的计算方法,解决各类线性方程组的直接算法;3、提高分析和解决问题的能力,做到学以致用;4、通过三对角形线性方程组的解法,体会稀疏线性方程组解法的特
9、点。2.实验过程:实验代码:#includestdio.h#includemath.h#include<iostream>usingnamespacestd;//Gauss法voidlzy(double**a,double*b,intn){inti,j,k;doublel,x[10],temp;for(k=0;k<n-1;k++){for(j=k,i=k;j<n;j++){if(j==k)temp=fabs(a[j][k]);elseif(temp<fabs(a[j][k])){temp=fabs(a[j][k]);i=j;}}if(temp==0){cout&l
10、t;<无解;return;}else{for(j=k;j<n;j++){temp=a[k][j];a[k][j]=a[i][j];a[i][j]=temp;}temp=b[k];b[k]=b[i];b[i]=temp;}for(i=k+1;i<n;i++){l=a[i][k]/a[k][k];for(j=k;j<n;j++)a[i][j]=a[i][j]-l*a[k][j];b[i]=b[i]-l*b[k];}}if(a[n-1][n-1]==0){cout<<无解;return;}x[n-1]=b[n-1]/a[n-1][n-1];for(i=n-
11、2;i>=0;i--){temp=0;for(j=i+1;j<n;j++)temp=temp+a[i][j]*x[j];x[i]=(b[i]-temp)/a[i][i];}for(i=0;i<n;i++){printf(x%d=%lft,i+1,x[i]);printf();}}//平方根法voidpfg(double**a,double*b,intn){inti,k,m;