资源简介
传说中的CMatrix,支持实矩阵和复数矩阵,支持矩阵的加减乘除求逆运算,矩阵的字符串输入输出,以及:实矩阵求逆的全选主元高斯-约当法复矩阵求逆的全选主元高斯-约当法对称正定矩阵的求逆托伯利兹矩阵求逆的埃兰特方法求行列式值的全选主元高斯消去法求矩阵秩的全选主元高斯消去法对称正定矩阵的乔里斯基分解与行列式的求值矩阵的三角分解一般实矩阵的QR分解一般实矩阵的奇异值分解求广义逆的奇异值分解法约化对称矩阵为对称三对角阵的豪斯荷尔德变换法实对称三对角阵的全部特征值与特征向量的计算约化一般实矩阵为赫申伯格矩阵的初等相似变换法求赫申伯格矩阵全部特征值的QR方法求实对称矩阵特征值与特征向量的雅可比法求实对称矩阵特征值与特征向量的雅可比过关法
代码片段和文件信息
// Matrix.cpp: implementation of the CMatrix class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
//#include “ldi.h“
#include “Matrix.h“
#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 other.m_pData sizeof(double)*m_nNumColumns*m_nNumRows);
}
//////
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 75899 2005-09-12 22:04 Matrix.cpp
文件 3212 2005-09-12 16:59 Matrix.h
----------- --------- ---------- ----- ----
79111 2
相关资源
- Proteus8.9 仿真STM32407ZGT6系列基础模板
- 打造linux下的Source Insight
- GDI+柱状图
- 制作动画GIF的VC源代码,八叉树算法生
- 面向对象程序设计实验报告
- 进程状态转换包括创建、删除、调度
- 经典的背包问题九讲,必看
- VSS (Visual Source Safe 2005) 用法详解
- 模拟退火算法解决TSP问题
- 操作系统设计一个按优先权调度算法
- 驱动执行应用层代码之KeuserModeCallba
- 虚拟磁盘MINIPORT驱动代码
- 最新的libssh2库源码
- 模拟IPINTERNET PROTOCOL数据分片和重组
- 火车车厢重排列问题 堆栈解决
- 山东大学数据结构课设箱子装箱问题
- som神经网络用于实现图像压缩
- 一种新的GEP 解码方法及其应用程序及
- 信息学奥赛一本通课后练习答案汇总
- 操作系统实验生产者与消费者实验报
- windows rpc基本使用Demo
- 基于QT实现2048小游戏
- Linux下基于原始套接字的嗅探器
- 二维多边形布尔运算,包括多边形绘
- 学生管理系统 根据数据结构的链表知
- StdAfx.h
- 计算机图形学源码DDA直线、中点直线
- VC使用jmail.dll编写电子邮件发送和接受
- qt串口通信,实现发送和接收
- 中缀表达式转换成后缀表达式
评论
共有 条评论