资源简介
C#求矩阵运算代码,特征值特征向量 含 加、减、乘运算,转换矩阵等等……
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
namespace Matrix
{
public class Matrix
{
private int numColumns = 0; // 矩阵列数
private int numRows = 0; // 矩阵行数
private double eps = 0.0; // 缺省精度
private double[] elements = null; // 矩阵数据缓冲区
/**
* 属性: 矩阵列数
*/
public int Columns
{
get
{
return numColumns;
}
}
/**
* 属性: 矩阵行数
*/
public int Rows
{
get
{
return numRows;
}
}
/**
* 索引器: 访问矩阵元素
* @param row - 元素的行
* @param col - 元素的列
*/
public double this[int row int col]
{
get
{
return elements[col + row * numColumns];
}
set
{
elements[col + row * numColumns] = value;
}
}
/**
* 属性: Eps
*/
public double Eps
{
get
{
return eps;
}
set
{
eps = value;
}
}
/**
* 基本构造函数
*/
public Matrix()
{
numColumns = 1;
numRows = 1;
Init(numRows numColumns);
}
/**
* 指定行列构造函数
*
* @param nRows - 指定的矩阵行数
* @param nCols - 指定的矩阵列数
*/
public Matrix(int nRows int nCols)
{
numRows = nRows;
numColumns = nCols;
Init(numRows numColumns);
}
/**
* 指定值构造函数
*
* @param value - 二维数组,存储矩阵各元素的值
*/
public Matrix(double[] value)
{
numRows = value.GetLength(0);
numColumns = value.GetLength(1);
double[] data = new double[numRows * numColumns];
int k = 0;
for (int i = 0; i < numRows; ++i)
{
for (int j = 0; j < numColumns; ++j)
{
data[k++] = value[i j];
}
}
Init(numRows numColumns);
SetData(data);
}
/**
* 指定值构造函数
*
* @param nRows - 指定的矩阵行数
* @param nCols - 指定的矩阵列数
* @param value - 一维数组,长度为nRows*nCols,存储矩阵各元素的值
*/
public Matrix(int nRows int nCols double[] value)
{
numRows = nRows;
numColumns = nCols;
Init(numRows numColumns);
SetData(value);
}
/**
* 方阵构造函数
*
* @param nSize - 方阵行列数
*/
public Matrix(int nSize)
{
numRows = nSize;
- 上一篇:Npoi操作word文档的完整帮助类
- 下一篇:c#随机出题
评论
共有 条评论