📄 matrix.h
字号:
// Matrix.h: interface for the Matrix class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MATRIX_H__26B73AD4_D19D_11D4_B14F_000021E94C7D__INCLUDED_)
#define AFX_MATRIX_H__26B73AD4_D19D_11D4_B14F_000021E94C7D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class Matrix
{
protected:
public:
double *Data; //数据存放区
UINT M,N; //矩阵 M*N
UINT i,j; //运算循环变量
public:
#ifdef _DEBUG
BOOL Print(CString FileName/*文件名*/, int Znum/*整数位*/,int Xnum/*小数位*/);
BOOL Print(FILE *out /*文件句柄*/, CString FileName,int Znum/*整数位*/,int Xnum/*小数位*/);
#endif //_DEBUG
Matrix matChole(int *);
double Trace(); //M*M 矩阵 对角线之和
BOOL DuiCheng();
Matrix MatTran(); //矩阵转置
Matrix MatInv(); //矩阵求里 对称矩阵(上)
Matrix MatInv_All(); //矩阵求里 全
Matrix operator * (Matrix &); //矩阵相乘 A=B*C
Matrix operator * (double dScaler); //矩阵相乘(放大) A=B*a(常数)
Matrix operator + (double a); //矩阵相加 A=B+a(常数)
Matrix operator + (Matrix &); //矩阵相加 A=B+C
Matrix operator - (double a); //矩阵相加 A=B-a(常数)
Matrix operator - (Matrix &); //矩阵相加 A=B-C
BOOL operator -= (double a); //矩阵减一常数
BOOL operator -= (Matrix &); //相减 矩阵 A+=B A+B-->A
BOOL operator += (double a); //矩阵加一常数
BOOL operator += (Matrix &); //相加 矩阵 A+=B A+B-->A
BOOL operator = (Matrix &); //复制 矩阵
void operator = (double a); //将矩阵各元素置 a
BOOL Alloc(UINT m,UINT n); //调整矩阵大小
BOOL Alloc(UINT m); //调整矩阵大小
UINT GetRow(); //返回 行
UINT GetCol(); //返回 列
double GetData(UINT m,UINT n);
BOOL SetData(UINT m,UINT n ,double a); //设置数据 m 行 n 列 数据 a
double GetData(UINT m/*,UINT n=0*/);
BOOL SetData(UINT m/*,UINT n=0*/ ,double a); //设置数据 m 行 n =1 列 数据 a
Matrix( Matrix &); // 复制 矩阵 生成新的矩阵
Matrix(UINT m,UINT n); // 定义 m*n 阶矩阵 Data 返回 NULL 数据错误
Matrix(UINT m); // 定义 m*1 阶矩阵 Data 返回 NULL 数据错误
Matrix();
virtual ~Matrix();
BOOL Success; //申请(运算)是否成功
};
#endif // !defined(AFX_MATRIX_H__26B73AD4_D19D_11D4_B14F_000021E94C7D__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -