📄 lineequationgauss.cpp
字号:
//MatrixSingularValue.cpp 一般实矩阵的奇异值分解
#include <iostream> //输入输出流
#include "Matrix.h" //矩阵类及相关函数等的定义
#include "LinearEquation.h"
using namespace std; //名字空间
void main() // 定义控制台应用程序的入口点
{
double dma[3][3] = { { 1.0, 2.0, 3.0},
{ 2.0, 1.0, 4.0},
{ 3.0, -1.0, -6.0}};
matrix<double> matA(&dma[0][0], 3, 3);
double db[3]={14.0,16.0,-17.0};
std::valarray<double> b(&db[0],3); //定义一维数组对象b
cout << endl << "A: " <<endl;
MatrixLinePrint(matA);
// int a=(matA!=matA);
cout << endl << "A: " <<endl;
MatrixLinePrint(matA);
cout<<endl<<"Norm Of A: "<<MatrixNorm(matA,-1)<<endl;
cout << endl << "b: " <<endl;
cout.width(15);cout<<b[0];cout.width(15);cout<<b[1];cout.width(15);cout<<b[2]<<endl;
cout<<endl<<"Norm Of b:"<<VectorNorm(b,-1);
//求根
std::valarray<double> x(3);
if(LE_TotalChoiceGauss(matA,b,x))
{
cout << endl << "X: " <<endl;
cout.width(15);cout<<x[0];cout.width(15);cout<<x[1];cout.width(15);cout<<x[2]<<endl;
}
// x=
//Ax=b
std::valarray<double> c(3);
c=matA*x;//矩阵和向量相乘
cout << endl << "AX: " <<endl;
cout.width(15);cout<<c[0];cout.width(15);cout<<c[1];cout.width(15);cout<<c[2]<<endl;
//int (matrix<_Ty>& a, valarray<_Ty>& b)
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -