欢迎来到天天文库
浏览记录
ID:40559024
大小:24.87 KB
页数:10页
时间:2019-08-04
《Matrix(C#实现)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、更多资料usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.IO;usingSystem.Diagnostics;namespaceWindowsFormsApplication1{publicclassMatrix{publicMatrix(introw){m_data=newdouble[row,row];}publicMatrix(introw,intcol){m_data=newdouble[row,col];}//复制构造函数publicMatrix(
2、Matrixm)//有什么用{introw=m.Row;intcol=m.Col;m_data=newdouble[row,col];for(inti=0;i3、ol];}*///unitmatrix:设为单位阵publicvoidSetUnit(){for(inti=0;i4、intRow{get{returnm_data.GetLength(0);}}//返回列数publicintCol{get{returnm_data.GetLength(1);}}//重载索引//存取数据成员publicdoublethis[introw,intcol]{get{returnm_data[row,col];}set{m_data[row,col]=value;}}//primarychange// 初等变换 对调两行:ri<-->rjpublicMatrixExchange(inti,intj){doubletemp;for(intk=0;k5、m_data[i,k];m_data[i,k]=m_data[j,k];m_data[j,k]=temp;}returnthis;}//初等变换 第index行乘以mulpublicMatrixMultiple(intindex,doublemul){for(intj=0;j6、m_data[src,j]*mul;}returnthis;}//transpose转置publicMatrixTranspose(){Matrixret=newMatrix(Col,Row);for(inti=0;i7、"相加的两个矩阵的行数不等");throwe;}if(lhs.Col!=rhs.Col)//异常{System.Exceptione=newException("相加的两个矩阵的列数不等");throwe;}introw=lhs.Row;intcol=lhs.Col;Matrixret=newMatrix(row,col);for(inti=0;i
3、ol];}*///unitmatrix:设为单位阵publicvoidSetUnit(){for(inti=0;i4、intRow{get{returnm_data.GetLength(0);}}//返回列数publicintCol{get{returnm_data.GetLength(1);}}//重载索引//存取数据成员publicdoublethis[introw,intcol]{get{returnm_data[row,col];}set{m_data[row,col]=value;}}//primarychange// 初等变换 对调两行:ri<-->rjpublicMatrixExchange(inti,intj){doubletemp;for(intk=0;k5、m_data[i,k];m_data[i,k]=m_data[j,k];m_data[j,k]=temp;}returnthis;}//初等变换 第index行乘以mulpublicMatrixMultiple(intindex,doublemul){for(intj=0;j6、m_data[src,j]*mul;}returnthis;}//transpose转置publicMatrixTranspose(){Matrixret=newMatrix(Col,Row);for(inti=0;i7、"相加的两个矩阵的行数不等");throwe;}if(lhs.Col!=rhs.Col)//异常{System.Exceptione=newException("相加的两个矩阵的列数不等");throwe;}introw=lhs.Row;intcol=lhs.Col;Matrixret=newMatrix(row,col);for(inti=0;i
4、intRow{get{returnm_data.GetLength(0);}}//返回列数publicintCol{get{returnm_data.GetLength(1);}}//重载索引//存取数据成员publicdoublethis[introw,intcol]{get{returnm_data[row,col];}set{m_data[row,col]=value;}}//primarychange// 初等变换 对调两行:ri<-->rjpublicMatrixExchange(inti,intj){doubletemp;for(intk=0;k
5、m_data[i,k];m_data[i,k]=m_data[j,k];m_data[j,k]=temp;}returnthis;}//初等变换 第index行乘以mulpublicMatrixMultiple(intindex,doublemul){for(intj=0;j
6、m_data[src,j]*mul;}returnthis;}//transpose转置publicMatrixTranspose(){Matrixret=newMatrix(Col,Row);for(inti=0;i7、"相加的两个矩阵的行数不等");throwe;}if(lhs.Col!=rhs.Col)//异常{System.Exceptione=newException("相加的两个矩阵的列数不等");throwe;}introw=lhs.Row;intcol=lhs.Col;Matrixret=newMatrix(row,col);for(inti=0;i
7、"相加的两个矩阵的行数不等");throwe;}if(lhs.Col!=rhs.Col)//异常{System.Exceptione=newException("相加的两个矩阵的列数不等");throwe;}introw=lhs.Row;intcol=lhs.Col;Matrixret=newMatrix(row,col);for(inti=0;i
此文档下载收益归作者所有