📄 main.cpp
字号:
#include <iostream>
#include <stdlib.h>
#include "matrix.h"
using namespace std;
int main(void)
{
const size_t MAXSIZE = 8;
//定义ABCD并初始化
Matrix A,B,C,D;
A.CreateMatrix();
B.CreateMatrix();
C.CreateMatrix();
D.CreateMatrix();
//定义R E和a数组
Matrix R[MAXSIZE];
Matrix E[MAXSIZE];
float a[MAXSIZE];
const size_t n = A.getNRow();
Matrix I(n);//定义I=E
//计算a0~a(n-1)
//R[n-1] = Matrix(n);
R[n-1] = I;
a[n-1] = 0 - ( R[n-1] * A ).trace();
for (int i = n-2;i >= 0;i--)
{
R[i] = R[i+1] * A + I * a[i+1];
a[i] = 0 - ( R[i] * A ).trace() / (n-i);
}
//计算E0~E(n-1)
E[n-1] = C * B;
for (int i=n-2;i >= 0;i--)
{
E[i] = C * pow(A,n-1-i) * B;
for (int m = n-2-i,j = n-1;m >= 0;m--,j--)
E[i] += ( C * pow(A,m) * B ) * a[j];
}
//输出计算结果
//输出E0~E(n-1)
cout<<"************"<<endl;
cout<<"output..."<<endl;
for(int i=0;i<n;i++)
{
cout << "E" << i << " = ";
E[i].print();
cout << "\n\n";
}
//输出a0~a(n-1)
cout<<"**********"<<endl;
for(int i=0;i<n;i++)
cout<<"a"<<i<<"= "<<a[i]<<endl;
system("pause");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -