




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include<iostream>#include<cmath>#defineM100usingnamespacestd;intmain(){ inti,j,n,k,t; floata[M][M],x[M],temp,sum=0;cout<<"输入方程的阶数:"<<endl; cin>>n; cout<<"输入方程矩阵:"<<endl; for(i=0;i<n;i++) //输入矩阵 for(j=0;j<n+1;j++) cin>>a[i][j];for(k=0;k<n+1;k++){ t=k; for(i=t+1;i<n;i++) //选出最大元素 if((fabs(a[t][k]))<(fabs(a[i][k]))) t=i; if(t!=k) //交换行元素 for(i=k+1;i<n+1;i++){ temp=a[k][i]; a[k][i]=a[t][i]; a[t][i]=temp; } for(i=k+1;i<n;i++){ //消元 for(j=0;j<n+1;j++) a[i][j]-=(a[i][k]/a[k][k])*a[k][j]; } } x[n-1]=a[n-1][n]/a[n-1][n-1]; //解出Xn for(i=n-2;i>=0;i--){ //解出其它解 for(j=i;j<n;j++){if(j==i)continue; sum+=a[i][j]*x[j]; } x[i]=(a[i][n]-sum)/a[i][i]; } printf("最终解得:\n"); for(i=0;i<n;i++) //输出结果 cout<<"x["<<i<<"]="<<x[i]<<endl; return0;}#include<iostream>#include<stdlib.h>usingnamespacestd;intmain(){ intn; do{ cout<<"输入三对角方程组的变量的数目N:"; cin>>n; }while(n<1); cout<<"请依次输入三对角方程组每行的数据(0元素除外):\n"; doublea[100],b[100],c[100],f[100]; cin>>*b>>*c>>*f; for(inti=1;i<n-1;++i)cin>>*(a+i-1)>>*(b+i)>>*(c+i)>>*(f+i); cin>>*(a+i-1)>>*(b+i)>>*(f+i); for(i=0;i<n-1;++i){ *(c+i)/=(*(b+i)); *(b+i+1)-=(*(a+i))*(*(c+i)); } *b=(*f)/(*b); for(i=1;i<n;++i) *(b+i)=((*(f+i))-(*(a+i-1))*(*(b+i-1)))/(*(b+i)); *(a+n-1)=*(b+n-1); for(i=n-2;i>=0;--i) *(a+i)=*(b+i)-(*(c+i))*(*(a+i+1)); cout<<"方程的解如下:\n";for(i=1;i<n;++i)cout<<"X["<<i<<"]:"<<*(a+i-1)<<endl; return0;}#include<iostream>#include<cmath>usingnamespacestd;voidmain(){ inti,j,n,x; doublem=0,p,a[100],b[100]; cout<<"插入节点数:"; //得到节点数 cin>>n; cout<<"请输入节点x值:"<<endl; //得到节点值,即X for(i=0;i<n;i++) cin>>a[i]; cout<<"请输入f(x)值:"<<endl; //得到Y for(i=0;i<n;i++) cin>>b[i]; cout<<"请输入x1:"<<endl; //取未知X cin>>x; for(i=0;i<n;i++){ //用拉格朗日插值法求解 p=1; for(j=0;j<n;j++){ if(i!=j) p*=(x-a[j])/(a[i]-a[j]); else continue; } m+=p*b[i]; } cout<<m<<endl; //输出结果的Y}#include<iostream>usingnamespacestd;intmain(){ intn; doublex; doublea[100],f[100]; do{ cout<<"输入插值点的数目n:"; cin>>n; }while(n<1); cout<<"输入插值点的数据:"<<endl; for(inti=0;i<n;++i) cin>>*(a+i)>>*(f+i); for(i=0;i<n;++i) for(intj=n-1;j>i;--j) *(f+j)=(*(f+j)-*(f+j-1))/(*(a+j)-*(a+j-i-1)); cout<<"输入所求的横坐标:"; cin>>x; doubleresult=*f; for(i=1;i<n;++i){ doubletemp=1; for(intj=0;j<i;++j) temp*=(x-*(a+j)); result+=(*(f+i))*temp; } cout<<"所求的函数值为:"<<result<<endl; return1;}#include<iostream>#include<cmath>usingnamespacestd;doublefun(doublea){ if(a==0) a+=0.00000000001; returnsin(a)/a;}doubleT(doublea,doubleb,doubleE){ doubleh=(b-a)/2; doubler1=(fun(a)+fun(b))*h; intn=1; doubler0,s,e; do{r0=r1; s=0; for(inti=0;i<=(n-1);i++) s=s+fun((b-a)*i/n+a+(b-a)/(2*n)); r1=r0/2+s*h/n; e=fabs(r1-r0); n=2*n; }while(e>3*E); cout<<n<<endl; returnr1;}voidmain(){ doublea,b,e; cout<<"输入待求积分的下届a和上届b及精度要求e"<<endl; cin>>a>>b>>e; cout<<"可求得积分:"<<T(a,b,e)<<endl;}#include<iostream>#include<math.h>usingnamespacestd;doublefun(doublex);intmain(){ doublea=0,b=1,eps=0.0000001; doubleT[10]; intl=1; T[0]=(b-a)*(fun(a)+fun(b))/2; doubleT1,T2; intflag; do{ flag=0; intn=pow(2,l-1); doubleh=(b-a)/n; doubletemp=0; for(inti=0;i<n;++i) temp+=fun(a+(i+1.0/2)*h); T1=T[0]/2+h*temp/2; for(intm=1;m<l;++m){ T2=(pow(4,m)*T1-T[m-1])/(pow(4,m)-1); T[m-1]=T1; T1=T2; } T2=(pow(4,1)*T1-T[l-1])/(pow(4,1)-1); if(fabs(T2-T[l-1])>eps){ T[l-1]=T1; T[l]=T2; ++l; flag=1; } }while(flag); cout<<"所求积分为:"<<T2<<endl; return0;}doublefun(doublex){ if(x==0)return1; return(sin(x)/x);}#include<stdlib.h>#include<iostream.h>intmain(){ doubleh=0.25,a,b,d=5; doublex=0.0,y=2.0; cout<<"x\ty\n"; cout<<x<<"\t"<<y<<endl; while(x<d){ a=y+h*(-x*y*y); x+=h; b=y+h*(-x*a*a); y=(b+a)/2.0; cout<<x<<"\t"<<y<<endl; } return0;}#include<iostream.h>#include<stdlib.h>intmain(){ doubleh=0.25,k1=0,k2=0,k3=0,k4=0,d=5,h2=h/2; doublex=0.0,y=2.0; cout<<"x\ty"<<endl; cout<<x<<"\t"<<y<<endl; while(x<d){ k1=(-x*y*y); x+=h2; k2=-x*(y+h2*k1)*(y+h2*k1); k3=-x*(y+h2*k2)*(y+h2*k2); x+=h2; k4=-x*(y+h2*k3)*(y+h2*k3); y+=h/6*(k1+2*k2+2*k3+k4); cout<<x<<"\t"<<y<<endl; } return0;}#include<iostream.h>#include<cmath>#defineeps1e-5voidmain(){ intn=4; doublea[4][4]={{7,2,1,-2},{9,15,3,2},{-2,-2,11,5},{1,3,2,13}}; doubley[4]={4,7,-1,0}; doublex[4]={0}; doublexx[4]={0}; intM=20;//最大迭代数 inti,j,k; doubledif=1.0; doublesum=0.0; doubleresidual=0.0; for(k=1;(k<=M)&&(dif>eps);k++){ dif=0.0; for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(j<i)sum+=a[i][j]*x[j]; if(j>i)sum+=a[i][j]*xx[j]; } x[i]=(y[i]-sum)/a[i][i]; sum=0.0; } residual=0.0; for(intm=0;m<n;m++){ if(fabs(x[m]-xx[m])>residual) residual=fabs(x[m]-xx[m]); } dif=residual; cout<<"第"<<k<<"次迭代的结果:"; for(intp=0;p<n;p++){ cout<<x[p]<<""; xx[p]=x[p]; } cout<<endl; } cout<<endl<<"迭代计算的结果为:"<<endl;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位维修家具合同范本
- 写字楼招商服务合同范例
- 共享花园出租合同范本
- 单位设备维修合同范本
- 兼职上课合同范本
- 代客操盘合同 合同范本
- 人民医院护士聘用合同范本
- 医用制氧机转让合同范本
- 借款房屋合同范本
- 养生馆三个合伙人合同范本
- 2025年中国国投高新产业投资集团招聘笔试参考题库含答案解析
- 2024-2025学年小学美术一年级下册(2024)岭南版(2024)教学设计合集
- 《研学旅行课程设计》课件-研学课程设计计划
- 年产10吨功能益生菌冻干粉的工厂设计改
- 苏州大学应用技术学院财务管理
- 2022年新目标英语七年级期末考试质量分析
- 北师大版五年级数学下册导学案全册
- 台球俱乐部助教制度及待遇
- 医院护士劳动合同
- 医师聘用证明.doc
- 核物理实验方法全册配套最完整精品课件
评论
0/150
提交评论