数值分析第三次作业.docxVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析第三次作业

数值分析第三次作业一算法设计方案欲获得z=f(x,y)的值,需要根据已知方程组和数表,把每一对待求的x和y值代入方程组,得到X=(t,u,v,w)的非线性方程组,用牛顿法求解所得的非线性方程组,得到解向量X=(t,u,v,w);对数表z、t、u进行分片二次插值,把解向量X=(t,u,v,w)中的t,u代入插值公式,即可求得z值。由(1)和(2)即可以得到数表x、y、f(x,y),此数表由C程序输出后导入Excel中打印出来。对已求得的数表进行曲线拟合,方法采用教材中的曲线拟合方法,实质上就是矩阵的计算求解过程。拟合基函数取(x)=, (k=0,1…K,l=0,1…K),K的初始值设为1,每循环一次K增加1,同时判断sigma值是否达到1e-7,如果达到精度要求,输出K和sigma的值以及此时的系数矩阵Crs,此时就得到了拟合曲面方程。校验过程:重新给定一组和的值,需要重复(1)和(2)过程,得到f(,),再由步骤(4)所确定的函数求得拟合值P(,),把两组值做一个对比,可以看出拟合结果的好坏。此数表仍然把C程序得到的数据输出导入Excel中打印出来,这样便于观察。在具体编写程序时没有采用过多的子程序,牛顿法求解非线性方程组、列主元素Gauss消去法、曲线拟合等程序均含在主程序中,只是把分片二次插值作为一个子程序进行循环调用。同时步骤(5)中的校验过程均是采用前面的程序计算,只是x和y的数据稍有不同,因此为了避免重复没有把具体的计算写入主程序中,而只是给出了最后的Excel数表以便观察拟合结果的好坏。程序虽然有点繁琐,但是易懂!!!二 C语言程序# includestdio.h# includemath.h# define ee 1e-12# define M 100# define N 4main (){ double f(double t,double u);int i,j,r,s,tt,k,k1,k2,row,kk,p; double x[11],y[21],X[N],dertx[N],F1[N][N],F[N]; double max,l1,m,mdx,mx,z,sigma,a1[11][11],b1[11],x2[11]; double Z[11][21],B[11][11],G[21][11],a[11][11],b[11],A[11][21],D[11][21]; double C[11][11],x1[11],fai[11],psai[11],H[11][11],ZZ[11][21];for(i=0;i11;i++)x[i]=0.08*i;for(i=0;i21;i++)y[i]=0.5+0.05*i; /*牛顿法解非线性方程组*/for(i=0;iN;i++) X[i]=1; for(r=0;r11;r++)for(s=0;s21;s++) {for(kk=0;kkM;kk++) {F1[0][0]=-0.5*sin(X[0]);F1[0][1]=1;F1[0][2]=1;F1[0][3]=1; F1[1][0]=1;F1[1][1]=0.5*cos(X[1]);F1[1][2]=1;F1[1][3]=1; F1[2][0]=0.5;F1[2][1]=1;F1[2][2]=-sin(X[2]);F1[2][3]=1; F1[3][0]=1;F1[3][1]=0.5;F1[3][2]=1;F1[3][3]=cos(X[3]); F[0]=-(0.5*cos(X[0])+X[1]+X[2]+X[3]-x[r]-2.67);F[1]=-(X[0]+0.5*sin(X[1])+X[2]+X[3]-y[s]-1.07);F[2]=-(0.5*X[0]+X[1]+cos(X[2])+X[3]-x[r]-3.74);F[3]=-(X[0]+0.5*X[1]+X[2]+sin(X[3])-y[s]-0.79);for(k=0;kN-1;k++){ max=fabs(F1[k][k]);row=k;for(i=k;iN;i++)if(fabs(F1[i][k])max){ max=fabs(F1[i][k]);row=i;}if(row!=k){ for(i=k;iN;i++){ l1=F1[k][i];F1[k][i]=F1[row][i];F1[row][i]=l1; } l1=F[k]; F[k]=F[row]; F[row]=l1; } for(i=k+1;iN;i++){ m=F1[i][k]/F1[k][k];for(j=k+1;jN;j++) F1[i][j

文档评论(0)

liangyuehong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档