




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#include#define col 3#define row 3class matrix/类的定义private:double mcolrow;/矩阵设置为私有的,public:matrix()/无参数的构造函数matrix(double acolrow);/有参数的构造函数matrix Add(matrix &b);/加法运算声明matrix Sub(matrix &b);/减法运算声明matrix Mul(matrix &b);/乘法运算声明matrix Div(matrix &b);/除法运算声明matrix Inverse();/求逆运算声明matrix();/析构函数声明void display();/显示函数声明;matrix:matrix(double acolrow)/构造函数的定义int i,j;for(i=0;icol;i+)for(j=0;jrow;j+)mij=aij;matrix matrix:Add(matrix &b)/加法运算int i,j;matrix*c=(matrix*)malloc(sizeof(matrix);for(i=0;icol;i+)for(j=0;jmij=mij+b.mij;return(*c);matrix matrix:Sub(matrix &b)/减法运算int i,j;matrix*c=(matrix*)malloc(sizeof(matrix);for(i=0;icol;i+)for(j=0;jmij=mij-b.mij;return *c;matrix matrix:Mul(matrix &b)/乘法运算int i,j,k;double sum=0;matrix*c=(matrix*)malloc(sizeof(matrix);for(i=0;icol;i+)for(j=0;jrow;j+)for(k=0;kmij=sum;sum=0;return(*c);matrix matrix:Div(matrix &b)/除法运算/除法直接求解,参见主函数matrix c;return(c);matrix matrix:Inverse()/求逆运算 /参考博客:/rollenholt/articles/.htmlint i,j,k,M=col,N=2*col;double bcolcol*2;matrix*c=(matrix*)malloc(sizeof(matrix);for(i=0;iM;i+) /赋值 for(j=0;jM;j+) bij=mij; for(i=0;iM;i+) /扩展 for(j=M;jN;j+) if(i=(j-M) bij=1; else bij=0; /*下面进行求逆运算*/for(i=0;iM;i+) if(bii=0) for(k=i;kM;k+) if(bki!=0) /作者的博客里面此处为bkk,貌似是不正确的, /因为这对比如说是0,0,1,1,0,1,0,1,1的矩阵就会判断为不可逆, /而实际上该矩阵是可逆的,这里应该是作者笔误,待进一步求证 for(int j=0;j=i;j-) bij/=bii; for(k=0;kM;k+) if(k!=i) double temp=bki; for(j=0;jN;j+) bkj-=temp*bij; /*导出结果*/for(i=0;iM;i+) for(j=3;jmij-3=bij; return (*c);matrix:matrix()void matrix:display()int i,j;for(i=0;icol;i+)for(j=0;jrow;j+)printf(%f ,mij);printf(n);void main()double a33=1,0,1,0,1,1,0,3,1;double b33=0,0,1,1,0,1,0,1,0;matrix ma(a),mb(b),mc;int flag;printf(-n请选择要进行的操作:n1、打印t2、加法);printf(t3、减法n4、乘法t5、除法t6、求逆n7、退出n);printf(-n);scanf(%d,&flag);while(flag=1)|(flag=2)|(flag=3)|(flag=4)|(flag=5)|(flag=6)|(flag=7)if(flag=1)printf(矩阵a为:n);ma.display();printf(矩阵b为:n);mb.display();if(flag=2)/矩阵加法运算printf(矩阵加法运算结果:n);mc=ma.Add(mb); mc.display();else if(flag=3)/矩阵减法运算printf(矩阵减法运算结果:n);mc=ma.Sub(mb); mc.display();else if(flag=4)/矩阵乘法运算printf(矩阵乘法运算结果:n);mc=ma.Mul(mb);mc.display();else if(flag=5)/矩阵除法运算printf(矩阵除法运算结果:n);printf(矩阵的除法分成两类:n 1、AB=inverse(A)*B n 2、B/A=B*inverse(A)n);printf(采用第1类,则ab的结果为:n);mc=ma.Inverse();mc=mc.Mul(mb);mc.display();printf(采用第2类,则a/b的结果为:n);mc=mb.Inverse();mc=ma.Mul(mc);mc.display();else if (flag=6)/矩阵求逆运算printf(矩阵a求逆运算结果为:n);mc=ma.Inverse();mc.display();printf(矩阵b求逆运算结果为:n);mc=mb.I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智慧农业行业技术创新与市场前景研究报告
- 2025年清洁能源行业市场前景预测报告
- 固定铰支座课件
- 2025年生物科技行业生物信息学应用前景研究报告
- 国家事业单位招聘2025中外文化交流中心招聘2人笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中国建筑文化中心招聘应届毕业生3人笔试历年参考题库附带答案详解
- 内江市2025上半年四川内江市威远县人力资源和社会保障局考核招聘事业单位人员1人笔试历年参考题库附带答案详解
- 万州区2025二季度重庆万州事业单位招聘222人笔试历年参考题库附带答案详解
- 2025重庆市大足区国衡商贸股份有限公司招聘大足区环境卫生工作人员12人笔试参考题库附带答案详解
- 2025浙江湖州市安吉县产业投资发展集团有限公司下属子公司招考14人笔试参考题库附带答案详解
- 首台套申报培训课件
- 中药药剂员职业考核试卷及答案
- 2025年脚手架租赁合同3篇
- 2025国家统计局济宁调查队城镇公益性岗位招聘3人备考题库及答案解析
- 万科企业股份有限公司员工职务行为准则
- 幼儿园教学课件《半条棉被》课件
- 一建市政记忆口诀
- 阀门系数Cv和KV值计算表格(带公式)
- PETS公共英语二级大纲词汇
- 消控室制度上墙
- LED屏幕施工方案
评论
0/150
提交评论