⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matrix.h

📁 gps经纬度坐标转换为地心坐标的源代码!
💻 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 + -