资源简介

网络上的Matrix运算库繁多,但有很多功能不够完整,或缺少注释,给使用者带来不少麻烦。该函数库是我搜集到的比较全面的矩阵运算库,而且附带引自清华大学bbs上的函数功能注释,使用方便。 内容包括: Matrix.cpp 执行文件 Matrix.h 头文件 【matrix头文件声明注释】.txt 函数注释说明文件 亲测vs2010下可用 如果涉及到大型稀疏矩阵的运算可以参照我的另一个suitesparse资源

资源截图

代码片段和文件信息

// Matrix.cpp: implementation of the CMatrix class.
//
//////////////////////////////////////////////////////////////////////

//#include “stdafx.h“
//#include “ldi.h“

#include 
#include “Matrix.h“
#include 
using namespace std;

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////
// 基本构造函数
//////////////////////////////////////////////////////////////////////
CMatrix::CMatrix()
{
m_nNumColumns = 1;
m_nNumRows = 1;
m_pData = NULL;
BOOL bSuccess = Init(m_nNumRows m_nNumColumns);
ASSERT(bSuccess);
}

//////////////////////////////////////////////////////////////////////
// 指定行列构造函数
//
// 参数:
// 1. int nRows - 指定的矩阵行数
// 2. int nCols - 指定的矩阵列数
//////////////////////////////////////////////////////////////////////
CMatrix::CMatrix(int nRows int nCols)
{
m_nNumRows = nRows;
m_nNumColumns = nCols;
m_pData = NULL;
BOOL bSuccess = Init(m_nNumRows m_nNumColumns);
ASSERT(bSuccess);
}

//////////////////////////////////////////////////////////////////////
// 指定值构造函数
//
// 参数:
// 1. int nRows - 指定的矩阵行数
// 2. int nCols - 指定的矩阵列数
// 3. double value[] - 一维数组,长度为nRows*nCols,存储矩阵各元素的值
//////////////////////////////////////////////////////////////////////
CMatrix::CMatrix(int nRows int nCols double value[])
{
m_nNumRows = nRows;
m_nNumColumns = nCols;
m_pData = NULL;
BOOL bSuccess = Init(m_nNumRows m_nNumColumns);
ASSERT(bSuccess);

SetData(value);
}

//////////////////////////////////////////////////////////////////////
// 方阵构造函数
//
// 参数:
// 1. int nSize - 方阵行列数
//////////////////////////////////////////////////////////////////////
CMatrix::CMatrix(int nSize)
{
m_nNumRows = nSize;
m_nNumColumns = nSize;
m_pData = NULL;
BOOL bSuccess = Init(nSize nSize);
ASSERT (bSuccess);
}

//////////////////////////////////////////////////////////////////////
// 方阵构造函数
//
// 参数:
// 1. int nSize - 方阵行列数
// 2. double value[] - 一维数组,长度为nRows*nRows,存储方阵各元素的值
//////////////////////////////////////////////////////////////////////
CMatrix::CMatrix(int nSize double value[])
{
m_nNumRows = nSize;
m_nNumColumns = nSize;
m_pData = NULL;
BOOL bSuccess = Init(nSize nSize);
ASSERT (bSuccess);

SetData(value);
}

//////////////////////////////////////////////////////////////////////
// 拷贝构造函数
//
// 参数:
// 1. const CMatrix& other - 源矩阵
//////////////////////////////////////////////////////////////////////
CMatrix::CMatrix(const CMatrix& other)
{
m_nNumColumns = other.GetNumColumns();
m_nNumRows = other.GetNumRows();
m_pData = NULL;
BOOL bSuccess = Init(m_nNumRows m_nNumColumns);
ASSERT(bSuccess);

// copy the pointer
memcpy(m_pData ot

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8664  2013-07-09 13:04  【matrix头文件声明注释】.txt

     文件      75980  2013-04-28 14:05  Matrix.cpp

     文件       3231  2013-04-28 14:10  Matrix.h

----------- ---------  ---------- -----  ----

                87875                    3


评论

共有 条评论