资源简介
自己编写的matrix矩阵类
可以实现矩阵的加减法、乘法、求逆
求逆采用lup算法
可以实现矩阵的加减法、乘法、求逆
求逆采用lup算法
代码片段和文件信息
#ifndef matrix_cpp
#define matrix_cpp
#include
#include
#include
#include “stdlib.h“
template
inline void swap(type &a type &b);
matrix::matrix(void)
{
line_n = 0;
column_n = 0;
p = NULL;
}
matrix::matrix(float *mtrxint ln int cn)
{
line_n = ln;
column_n = cn;
p = new float[line_n * column_n];
if(!p)
{
cout << “Allocation error!“ << endl;
exit(1);
}
for(int i = 0; i < line_n * column_n; i++)
p[i] = mtrx[i];
}
matrix::matrix(const matrix &obj)
{
line_n = obj.line_n;
column_n = obj.column_n;
p = new float[line_n * column_n];
if(!p)
{
cout << “Allocation error!“ << endl;
exit(1);
}
for(int i = 0; i < line_n * column_n; i++)
p[i] = obj.p[i];
}
ostream &operator<<(ostream &stream const matrix &obj)
{
float n;
for(int i = 0; i < obj.line_n * obj.column_n; i++)
{
n = obj.p[i];
if(floor(obj.p[i]) - obj.p[i] < mat::precision && floor(obj.p[i]) - obj.p[i] > -mat::precision)
n = floor(obj.p[i]);
else if(ceil(obj.p[i]) - obj.p[i] < mat::precision && ceil(obj.p[i]) - obj.p[i] > -mat::precision)
n = ceil(obj.p[i]);
stream.precision(5);
stream.width(12);
if(i % obj.column_n == 0)
stream << endl;
stream << n << ‘ ‘;
}
stream << endl;
return stream;
}
istream &operator>>(istream &stream const matrix &obj)
{
}
matrix &matrix::operator= (const matrix &obj)
{
if(this == &obj)
return *this;
delete []p;
p = new float[obj.line_n * obj.column_n];
line_n = obj.line_n;
column_n = obj.column_n;
if(!p)
{
cout << “Allocation error!“ << endl;
exit(1);
}
for(int i = 0; i < obj.line_n * obj.column_n; i++)
{
p[i] = obj.p[i];
// p[i] = abs(p[i] - floor(p[i]) < precision) ? floor(p[i]):p[i];
// p[i] = abs(p[i] - ceil(p[i]) < precision) ? ceil(p[i]):p[i];
}
return *this;
}
matrix &matrix::operator= (const float &n)
{
for(int i =0; i < line_n; i++)
for(int j = 0; j < column_n; j++)
{
p[i * column_n + j] = n;
}
return *this;
}
//matrix matrix::operator= (float *mtrxint ln int cn)
//{
// delete p;
// p = new float[ln * cn];
// line_n = ln;
// column_n = cn;
// if(!p)
// {
// cout << “Allocation error!“ << endl;
// exit(1);
// }
// for(int i = 0; i < line_n * column_n; i++)
// p[i] = mtrx[i];
// return *this;
// }
const matrix matrix::operator+ (const matrix &obj)
{
matrix temp;
if(isempty(obj))
return *this;
if(line_n != obj.line_n || column_n != obj.column_n)
return temp;
temp.p = new float[line_n * column_n];
temp.line_n = line_n ;
temp.column_n = column_n;
for(int i = 0; i < line_n * column_n; i++)
temp.p[i] = this->p[i] + obj.p[i];
return te
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2066 2008-10-12 14:18 matrix.h
文件 10534 2008-10-15 09:13 matrix.cpp
----------- --------- ---------- ----- ----
12600 2
相关资源
- 图书管理系统需求跟踪矩阵表.rar
- 8051单片机教程第二十六课:矩阵式键
- 易语言矩阵的旋转源码易语言GDI矩阵
- 易语言认识矩阵源码易语言GDI矩阵源
- 易语言矩阵应用到指定坐标源码易语
- imx6q ch452驱动矩阵键盘扫描
- verilog 4×4矩阵键盘
- 彩色玻璃冷凝物密度矩阵:Lindblad演化
- 压缩感知常见测量矩阵一维仿真信号
- Chern-Simons物质理论的矩阵模型超出了
- Chern–Simons矩阵模型中的多割解
- 涡旋-反涡旋系统的矩阵超群Chern-Sim
- 在矩阵模型的四次相互作用的大N极限
- 在任意HFB多准粒子状态之间的一体和
- 由κ-Poincarér矩阵产生
- 考虑CP违规数据的中微子混合矩阵的指
- 中微子混合矩阵和无中微子双β衰
- Schwarzian量子力学的Shockwave S矩阵
- 4×4矩阵式键盘识别技术源码
- MapMatrix中文用户手册
- 连续极限Tonks-Girardeau矩阵元素。 第一
- 柔度法推导刚度矩阵的探究
- 柔度矩阵计算
- 电子科技大学矩阵理论往年试题+课件
- 矩阵分析-经典教材-中文版-Roger.A.Ho
- 国科大矩阵分析考题整理
- 矩阵论简明教程第三版徐仲 张凯院
- 矩阵论考试试题及答案
- 矩阵相乘并行设计
- 整理最全资料:并行计算大作业:矩
评论
共有 条评论