📄 matrix.h
字号:
// Matrix.h: interface for the CMatrix class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MATRIX_H__EEB147AD_4190_11D6_B625_00E04C39EA1A__INCLUDED_)
#define AFX_MATRIX_H__EEB147AD_4190_11D6_B625_00E04C39EA1A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Array2d.h"
typedef CArray2d<double> CMatrix;
class AFX_EXT_CLASS CMatrixOpr{
public:
CMatrixOpr(){}
~CMatrixOpr(){}
public:
int Det_Residual(CMatrix& MtrIn, int i, int j, CMatrix& MtrOut);
//代数余子式
double Det_Value(CMatrix& Mtr);
//求行列式
int Det_Clam(CMatrix& A, CMatrix& B, CMatrix& Rst);
//克莱姆法则求n元线性方程组
int Mtr_Transpose(CMatrix& MtrIn, CMatrix& MtrOut);
//转置
int Mtr_Adjoint(CMatrix& MtrIn, CMatrix& MtrOut);
//伴随矩阵
int Mtr_Inverse(CMatrix& MtrIn, CMatrix& MtrOut);
//求逆
int Mtr_Add(CMatrix& MtrIn1, CMatrix& MtrIn2, CMatrix& MtrOut);
//矩阵之和
int Mtr_Subtract(CMatrix& MtrIn1, CMatrix& MtrIn2, CMatrix& MtrOut);
//矩阵之差
int Mtr_Multiply(CMatrix& MtrIn1, CMatrix& MtrIn2, CMatrix& MtrOut);
//矩阵之积
int Mtr_Multiply(CMatrix& MtrIn, double MultiNum, CMatrix& MtrOut);
int Mtr_Eigen(CMatrix& MtrIn, CMatrix& EigenValue, CMatrix& EigenVect, double eps);
//求特征值和特征矢量, MtrIn 需是对称阵
int Mtr_VectAverage(CMatrix& MtrIn, CMatrix& MtrOut);
//求向量均值, 每一行为一向量的m个分量
int Mtr_VectDiverge(CMatrix& MtrIn, CMatrix& MtrDiv);
//求向量的方差
int Mtr_VectED(CMatrix& MtrIn, CMatrix& MtrE, CMatrix& MtrD);
//求向量的均值和方差
int Mtr_PCT(CMatrix& X, CMatrix& Center, CMatrix& C, CMatrix& Lmd, CMatrix& Y, CMatrix& Axis);
};
#endif // !defined(AFX_MATRIX_H__EEB147AD_4190_11D6_B625_00E04C39EA1A__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -