- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[实习总结]计算机程序实践报告
计 算 机 程 序 设 计
实 践 报 告
学院: 资源加工与生物工程学院
班级: 生物工程类1001班
指导教师: 杨英杰
学号: 0306100103
姓名: 王蕾
完成日期:2011年6月24日
1某选矿车间某班取样化验数据如表1,利用矿量平衡和金属平衡可以列出含四个方程的线性方程组,请利用行线性变换编程求出各精矿及尾矿的理论产率,并填入表1相应位置。
表1 各矿流的化验品位
--------------------------------
矿 产 化验品位%
率 ------------------
流 % Pb Zn S
--------------------------------
原 矿 100.00 3.08 11.92 14.58
铅精矿 x1 57.16 4.08 21.19
锌精矿 x2 0.79 56.56 21.71
硫精矿 x3 2.06 2.90 40.24
尾 矿 x4 0.25 0.73 4.93
--------------------------------
解题思路:首先,本题主要的就是设计一个求解线性方程组的程序,而求解线性方程组主要是通过矩阵的线性行变换来求解。由系数矩阵与常数项向量组成增广矩阵,通过线性行变换,当系数矩阵变为单位矩阵时,那么变化后对应的常数量就是对应的方程组地解。所以,解线性方程组的解法布骤归结起来就是矩阵的线性行变换。程序运行成功后,将其添加到界面程序中。
利用矿量和三种组分的进出平衡可列出四个线性方程组:
x1 + x2 + x3 + x4=100
57.16x1 + 0.79x2 + 2.06x3 + 0.25x4=3.08
4.08x1 + 56.56x2 + 2.90x3 + 0.73x4=11.92
21.19x1 + 31.17x2 + 40.24x3 + 4.93x4=14.58
独立方程个数多于未知数个数
X= x1 D= 1 1 1 1 Y= 100
x2 57.16 0.79 2.06 0.25 3.08
x3 4.08 56.56 2.90 0.73 11.92
x4 21.19 31.17 40.24 4.93 14.58
则方程组可以用矩阵方程表示为:
D*X=Y
程序如下:
#includeiostream.h
class Matrix
{
int RowMax,ColMax;
public:
float **Mat;
Matrix(int rm,int cm)//构造函数
{
RowMax=rm;
ColMax=cm;
Mat=new float *[rm];
for(int i=0;irm;i++)
Mat[i]=new float[cm];
}
~Matrix(){}//析构函数
void Input()//输入
{
cout请输入矩阵:\n;
for(int i=0;iRowMax;i++)
for(int j=0;jColMax;j++)
cinMat[i][j];
}
int GetRowMax(){return RowMax;}//取矩阵的行数
int GetColMax(){return ColMax;} //取矩阵的列数
void Matrix::GetRow(const int n)//取矩阵某一行的全部元素
{
coutMatrix(:,n)=\n\t;
for(int i=0;iColMax;i++)
coutMat[n-1][i]\t;
cout\n;
}
void Matrix::GetCol(const int n)//取矩阵某一列的全部元素
{
coutMatrix(:,n)=\n;
for(int i=0;iRowMax;i++)
cout\tMat[i][n-1]\n;
}
void
文档评论(0)