ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:349.48KB ,
资源ID:10730545      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10730545.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数值分析报告作业C语言编程实现.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数值分析报告作业C语言编程实现.docx

1、数值分析报告作业C语言编程实现#include #include double f(double x) double ans; ans=exp(x); return ans;void main() double a=1,b=3,error=0.0001,t2020,h,c; int i,j,k,m,n; h=b-a; t00=h*(f(a)+f(b)/2; k=1; while(1) t0k=0; m=1; for(j=0;jk-1;j+) m=m*2; for(i=1;i=m;i+) t0k=t0k+h*f(a+(i-0.5)*h); t0k=(t0k+t0k-1)/2; for(j=1;j

2、=k;j+) c=1; for(n=0;nj;n+) c=c*4; tjk-j=(c*tj-1k-j+1-tj-1k-j)/(c-1); if(fabs(tk0-tk-10)error) printf(n积分结果 I %lfn,tk0); break; else h=h/2; k+; #include #include double f(double t) double ans; ans=pow(cos(t),1.0/3); return ans;void main() double x=0,eslong=0.000001,x0; int N=20,i; printf(n近似初值 x0 = %

3、lfn,x); for(i=0;iN;i+) x0=x; x=f(x); printf( x%d = %lfn,i+1,x); if(fabs(x-x0)eslong) break; if(fabs(x-x0)eslong) printf(得到近似结果为 x %lfnn,x,i); else printf(迭代失败n);#include #include double a=0,b=1,x,y=0,h=0.1,k1,k2,k3,k4;int i,N;double f(double t,double s) double ans; ans=1+t*t; return ans;void main()

4、N=(b-a)/h; x=a; printf(n 初值为 (x0,y0) = ( %.8f , %.8f )n,x,y); for(i=0;iN;i+) k1=f(x,y); k2=f(x+h/2,y+h*k1/2); k3=f(x+h/2,y+h*k2/2); k4=f(x+h,y+h*k3); y=y+h*(k1+2*(k2+k3)+k4)/6; x=x+h; printf( 第%d次输出结果为 (x%d,y%d) = ( %.8f , %.8f )n,i+1,i+1,i+1,x,y); #include void main() double datax4=1.2,2.9,4.6,5.8,

5、datay10=14.84,33.71,58.36,79.24,l3,x=1.5,y; int i,j; y=0; for(i=0;i=3;i+) li=1; for(j=0;ji;j+) li=(x-dataxj)/(dataxi-dataxj)*li; for(j=i+1;j=3;j+) li=(x-dataxj)/(dataxi-dataxj)*li; y=y+datayi*li; printf(n f(x)在 x = %f 处的近似值为: y = %fn,x,y);#include void main() double datay9=11.7,14.87,21.44,31.39,44.

6、73,61.46,81.57,105.11,131.91; int m=2,i,j,k; double p,data94,a34,datax9=1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,10.0; for(i=0;i9;i+) for(j=1;j2*m+1;j+) dataij=1; for(k=0;kj;k+) dataij=dataij*dataxi; for(i=0;im+1;i+) for(j=0;jm+1;j+) aij=0; for(k=0;k9;k+) aij=aij+dataki+j; a00=9; a0m+1=0; for(i=0;i9;i+) a0m+

7、1=a0m+1+datayi; for(i=1;im+1;i+) aim+1=0; for(j=0;j9;j+) p=datayj; for(k=0;ki;k+) p=p*dataxj; aim+1=aim+1+p; /生成m+1行,m+2列增广矩阵/ for(i=0;im+1;i+) /显示方程组/ for(j=0;jm+2;j+) if(j!=m+1) printf(%f)a%d ,aij,j); if(j!=m) printf(+ ); else printf(= %f n,aij); for(i=0;im;i+) /高斯消去法/ if(aii!=0) for(j=i+1;jm+1;j+

8、) aji=aji/aii; for(k=i+1;km+2;k+) ajk=ajk-aik*aji; else break; if(amm!=0&i=m) amm+1=amm+1/amm; for(i=2;i=m+1;i+) for(j=1;ji;j+) am+1-im+1=am+1-im+1-am+1-im+1-j*am+1-jm+1; am+1-im+1=am+1-im+1/am+1-im+1-i; printf(方程组的解为:n); for(j=0;jm+1;j+) printf(a%d = %fn,j,ajm+1); printf(拟合多项式为:n); printf(P%d(x) =

9、(%f) + (%f)x + (%f)x2n,m,a0m+1,a1m+1,a2m+1); else printf(数据有误!n);列主元素法#include #include void main() double a34=1,-2,-1,3,-2,10,-3,15,-1,-2,5,10,mov,comp; int i,j,k,nrow; for(i=0;i2;i+) comp=fabs(aii); for(k=i;k=comp) nrow=k; comp=fabs(aki); for(j=0;j=3;j+) mov=aij; aij=anrowj; anrowj=mov; printf(方程第

10、%d行互换位置后如下n,i+1); for(j=0;j3;j+) printf(%f)x1 + (%f)x2 + (%f)x3 = %fn,aj0,aj1,aj2,aj3); if(aii!=0) for(j=i+1;j3;j+) aji=aji/aii; for(k=i+1;k=3;k+) ajk=ajk-aik*aji; aji=0; printf(方程经%d次消元如下n,i+1); for(j=0;j3;j+) printf(%f)x1 + (%f)x2 + (%f)x3 = %fn,aj0,aj1,aj2,aj3); else break; if(a22!=0&i=2) printf(

11、方程化简得n); for(i=0;i3;i+) printf(%f)x1 + (%f)x2 + (%f)x3 = %fn,ai0,ai1,ai2,ai3); a23=a23/a22; for(i=2;i=3;i+) for(j=1;ji;j+) a3-i3=a3-i3-a3-i3-j*a3-j3; a3-i3=a3-i3/a3-i3-i; printf(方程组的解为:n); for(j=0;j3;j+) printf(x%d = %fn,j+1,aj3); else printf(数据有误!n);Jacobi迭代法#include #include void main() double a37

12、=1,-2,-1,3,-2,10,-3,15,-1,-2,5,10,error=0.000001,norm; int N=423,i,j,k; a04=0,a14=0,a24=0; for(i=0;i3;i+) /把a矩阵转化为b矩阵/ ai6=aii; for(j=0;j3;j+) aij=-aij/ai6; ai3=ai3/ai6; aii=0; printf(化为b矩阵如下n); for(i=0;i3;i+) printf(%f %f %f %fn,ai0,ai1,ai2,ai3); for(i=1;iN;i+) for(j=0;j3;j+) aj5=0; for(k=0;k3;k+)

13、aj5=ak4*ajk+aj5; aj5=aj5+aj3; norm=0; for(k=0;k3;k+) norm=norm+fabs(ak4-ak5); if(normerror) break; else for(k=0;k3;k+) ak4=ak5; if(normerror) printf(计算结果为n); for(i=0;i3;i+) printf( x%d = %.3fn,i+1,ai5); else printf(迭代失败n);现场考试题目1#include stdio.h#include math.hdouble f(double x) double ans; ans=exp(x

14、); return(ans);void main() double a=-1,b=1,error=0.0001,m=1,h,T0,T,F; int k; h=(b-a)/2; T0=h*(f(a)+f(b); while(1) F=0; for(k=1;k=pow(2.0,m-1);k+) F=F+f(a+(2*k-1)*h); T=T0/2+h*F; if(fabs(T-T0)error) break; m+; h=h/2; T0=T; printf(积分结果为I %fn,T);题目2#include stdio.hdouble f(double t,double s) double ans; ans=1+t*t; return(ans);void main() double a=0,b=1,h=0.2,x0=0,y0=0,x,k1,k2,k3,y; int N,n; N=(b-a)/h; for(n=1;n=N;n+) x=x0+h; k1=f(x0,y0); k2=f(x0+h/2,y0+h/2*k1); k3=f(x0+h,y0-h*k1+2*h*k2); y=y0+h/6*(k1+4*k2+k3); printf(第%d次输出结果为(%.8f,%.8f)n,n,x,y); x0=x; y0=y;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1