1、 printf( *倒数表*n);for(i=0;iN;i+)/牛顿迭代法xi+1=xi*xi*c/(2*c*xi-1); printf(k=%dtx(%d)=%.5fn,i,i,xi);if(fabs(xi+1-xi)=0.0005)break;elsecontinue;printf(,i+1,i+1,xi);n 计算结果:n1/%f=%.3fnn,c,xi+1);实验二#include#define N 10int i,j,k,l,n;float bN,aNN,t,d,det=1.0;/*数据输入*/输入nn );scanf(%dn);输入Ainn;i+)for(j=0;jj+)scanf
2、( aij);输入binbi);/* *高斯消去*/* *消元*/*列选主元函数*/for(k=0;kfabs(d)d=aik;i=l;if(i=n)/判断是否奇异,不奇异进行行交换if(d=0)奇异/如果所有行的首列都为0,为奇异if(l!=k)/如果第k 行的并不是最大det=det*(-1);for(j=k;=n;j+)/交换系数矩阵中的两行t=alj;alj=akj;akj=t;t=bl;bl=bk;bk=t;/交换右端常向量中的两行/* *列选主元函数*/i+)/第(k+1)次消元要得到N-(k+1)个乘数aik=aik/akk;for(j=k+1;j+)/第(i+1)行各列向量对应
3、该行与第(k+1)行各列向量的减法aij=aij-aik*akj;bi=bi-aik*bk;/右端常向量/* *消元*/*回代*/bn-1=bn-1/an-1n-1;/计算x(N)的解for(i=n-2;i=0;i-)/从倒数第二项开始依次回代N-1 次t=0;for(j=i+1;t=t+aij*bj;bi=(bi-t)/aii;/* *高斯消去*/* *数据输出*/i+)/输出方程组的解x(%d)=%.4fn,i+1,bi);det=det*aii;detA=%.4fn,det);/输出系数矩阵行列式的值/* *数据输出*/实验三/例3-10iostreamcmathint i,j,r,k,
4、n;float aNN=0,s;输入矩阵n scanf(i+)/输入单位阵j=i+n;aij=1;/* * *LU 分解*/for(i=1;i+)/r=0 时:1区间不变化,2区间变化。ai0=ai0/a00;i+)/第二行列至末行列进行变化时for(j=i;2*n;j+)/第2(r+1)-1区间的变化行s=0.0;i;k+)/对应行列元素的乘积进行求和s+=aik*akj;aij=aij-s;j+)/2(r+1)区间的变化列s+=aki*ajk;aji=(aji-s)/aii;/现在已将AI-LUY/* *LU 分解*/* *高斯约当法解Ux=Y*/* * 提取UY 减少计算*/j+) aij=0;/* * 提取UY 减少计算*/* *消元*/j+)/首行归一化a0j=a0j/a00; a00=1;/第一列其余行已为零i+)/(n-1)次归一消元j+)/第i+1 行的各列进行归一化aij=aij/aii;aii=1;for(r=0;rd=Xik;t=Xlj;Xlj=Xkj;Xkj=t;t=Yl;Yl=Yk;Yk=t;Xik=Xik/Xkk;Xij=Xij-Xik*Xkj;Yi=Yi-Xik*Yk;Yn-1=Yn-1/Xn-1n-1;t=t+Xij*Yj;Yi=(Yi-t)/Xii;/*高斯消去*/所求参数为:na=%.4fnb=%.4fnc=%.4fn,Y1,Y2,Y0);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1