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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

解方程组的通用VC程序.docx

1、解方程组的通用VC程序本文中通过,直接解方程和迭代解方程两种方法实现了对方程组的求解,实现了对唯一解合最小二乘解的求法,并通过了实例验证。给出了程序源码。最终实现函数:Void WeiYiJie()/唯一解的实例/方程形式:ax1+bx2+cx3=d, a、b、c、d为向量 int i = 0; double HEADL34= 1.0000000, 3.0000000, 4.0000000, 6.0000000, 2.0000000, 1.0000000, 4.0000000, 3.0000000, 5.0000000, 6.0000000, 2.0000000, 1.0000000; CMa

2、trixMethod sloveR; int m=3,n=3; double a10=0; int nn=0; double e20=0; for(i=0;i10;i+) ai=1; /hhhe SolveResultDieDai(&HEADL00,a,m,n,nn,e); TRACE(Ln); for(i=0;in;i+) TRACE(L%0.8fn,ai); TRACE(Ln);运行结果:直接解:-1.296296300.851851851.18518519迭代解:-1.296296300.851851851.18518519Void WeiYiJie()/超定方程的最小二乘解实例/方程形

3、式:ax1+bx2 =c, a、b、c为向量int i = 0;double HEADL1123= 0.0000000, 0.0000000, 0.0000000, 1.2505800, 62.466469, 49.950000, 2.4917458, 248.97524, 99.920000, 3.7416651, 561.06268, 149.95000, 4.9912442, 997.74971, 199.90000, 6.2235389, 1555.0134, 249.86000, 11.159454, 5016.8443, 449.56000, 12.390666, 6190.376

4、5, 499.60000, 13.622296, 7486.1327, 549.55000, 14.847737, 8901.9607, 599.55000, 16.074345, 10440.126, 649.49000, 17.285916, 12090.807, 699.46000;CMatrixMethod sloveR; m=12,n=2; memset(a,0,sizeof(a); for(i=0;i10;i+) ai=1; /hhhe SolveResultDieDai(&HEADL100,a,m,n,nn,e); TRACE(Ln); for(i=0;in;i+) TRACE(

5、L%0.10fn,ai); TRACE(Ln);直接解:39.95857180810.0007080380迭代解:39.95857180810.0007080380/函数SolveResult:解方程/pRelativeCMatrix:方程系数增广矩阵例如:对于方程组a1*x1+a2*x2+a3*x3 = c 则pRelative=a1,a2,a3,c/pResult:为方程的解,若:pRelative=a1,a2,a3,c 则pResult=x1,x2,x3;/m:为方程个数/n:为未知数个数/返回值:方程组有唯一解1:无穷多解2:方程组无解-1:最小二乘解/int CDataFit:Sol

6、veResult(double *pRelativeCMatrix,double *pResult,int m ,int n) int i=0,j=0,t=0,k=0; int nnNum = m*(n+1); double *ju_zhen1 = new doublennNum;/求解会改变pRelative的值,因此新建一个 memcpy(ju_zhen1,pRelativeCMatrix,sizeof(double)*nnNum); /把矩阵阶梯化 int tt=0; for(int l=0;ln+1;l+) for(int h=tt;htt) double a=0; for(int i

7、=0;in+1;i+) a=-1*ju_zhen1h*(n+1)+i; ju_zhen1h*(n+1)+i=ju_zhen1tt*(n+1)+i; ju_zhen1tt*(n+1)+i=a; for(int i=tt+1;il;t-) ju_zhen1i*(n+1)+t=ju_zhen1i*(n+1)+t-ju_zhen1i*(n+1)+l*ju_zhen1tt*(n+1)+t/ju_zhen1tt*(n+1)+l; ju_zhen1i*(n+1)+l=0; tt=tt+1; /以下是找出系数矩阵与增广矩阵的秩,比较大小判断解的情况 int xishu_zhi=0,zengguang_zhi=

8、0; /求系数矩阵秩 int m1=0; if(mn) m1=n; for(int i=0;im1;i+) for(int j=i;jn+1) m1=n+1; for(int i=0;im1;i+) for(int j=i;jn+1;j+) if(ju_zhen1i*(n+1)+j!=0) zengguang_zhi=zengguang_zhi+1; break; if(xishu_zhizengguang_zhi)/第一种情况无解 if(xishu_zhi=n)/超定方程求唯一最小二乘解 for(i=0;im;i+)/清零,用于存放最小二乘转换后的系数曾广矩阵 for(j=0;jn+1;j+

9、) ju_zhen1i*(n+1)+j=0.0; for(i=0;in;i+)/获得最小二乘的转换矩阵 for(j=0;jn+1;j+) for(k=0;km;k+) ju_zhen1i*(n+1)+j += (pRelativeCMatrixk*(n+1)+j*pRelativeCMatrixk*(n+1)+i); /把矩阵阶梯化 int tt=0; for(int l=0;ln+1;l+) for(int h=tt;htt) double a=0; for(int i=0;in+1;i+) a=-1*ju_zhen1h*(n+1)+i; ju_zhen1h*(n+1)+i=ju_zhen1

10、tt*(n+1)+i; ju_zhen1tt*(n+1)+i=a; for(int i=tt+1;il;t-) ju_zhen1i*(n+1)+t=ju_zhen1i*(n+1)+t-ju_zhen1i*(n+1)+l*ju_zhen1tt*(n+1)+t/ju_zhen1tt*(n+1)+l; ju_zhen1i*(n+1)+l=0; tt=tt+1; /还原回阶梯化后的值,为解最小二乘的转换方程做准备 memcpy(pRelativeCMatrix,ju_zhen1,sizeof(double)*nnNum); for(t=0;tn;t+) /每次都先恢复系数矩阵 memcpy(ju_zhen1,pRelativeCMatrix,sizeof(double)*nnNum); for(k=0;kn;k+) ju_zhen1k*(n+1)+t=pRelativeCMatrixk*(n+1)+n;/再把常数列赋值给某一列 /求行列式的值 int tt=0; for(int l=0;ln+1;l+) for(int h=tt;hm;h+)

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

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