資源簡介
C# 矩陣算法 .net 矩陣算法。C#矩陣運算類。實現(xiàn)轉置,相乘,相加,求逆。
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.IO;
using?System.Collections;
namespace?MatrixClass
{
????public?class?Matrix
????{
????????#region?私有變量
????????private?int?numColumns?=?0; //?矩陣列數(shù)
????????private?int?numRows?=?0; //?矩陣行數(shù)
????????private?double?eps?=?0.000001; //?缺省精度
????????protected?double[]?elements?=?null; //?矩陣數(shù)據(jù)緩沖區(qū)
????????#endregion
????????///?
????????///?列數(shù)
????????///?
????????public?int?ColumnsCount
????????{
????????????get
????????????{
????????????????return?numColumns;
????????????}
????????}
????????///?
????????///?行數(shù)
????????///?
????????public?int?RowsCount
????????{
????????????get
????????????{
????????????????return?numRows;
????????????}
????????}
????????public?double?this[int?row?int?col]
????????{
????????????get
????????????{
????????????????return?elements[col?+?row?*?numColumns];
????????????}
????????????set
????????????{
????????????????elements[col?+?row?*?numColumns]?=?value;
????????????}
????????}
????????public?double?Eps
????????{
????????????get
????????????{
????????????????return?eps;
????????????}
????????????set
????????????{
????????????????eps?=?value;
????????????}
????????}
????????public?Matrix()
????????{
????????????numColumns?=?1;
????????????numRows?=?1;
????????????Init(numRows?numColumns);
????????}
????????public?Matrix(int?nRows?int?nCols)
????????{
????????????numRows?=?nRows;
????????????numColumns?=?nCols;
????????????Init(numRows?numColumns);
????????}
????????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?????????????{
????????????????for?(int?j?=?0;?j?????????????????{
????????????????????data[k++]?=?value[i?j];
????????????????}
????????????}
????????????Init(numRows?numColumns);
????????????SetData(data);
????????}
????????public?Matrix(int?nRows?int?nCols?double[]?value)
????????{
????????????numRows?=?nRows;
????????????numColumns?=?nCols;
????????????Init(numRows?numColumns);
????????????SetData(value);
????????}
????????public?Matrix(int?nSize)
????????{
????????????numRows?=?nSize;
????????????numColumns?=?nSize;
????????????Init(nSize?nSize);
????????}
????????public?Matrix(int?nSize?double[]?value)
????????{
????????????numRows?=?nSize;
????????????numColumns?=?nSize;
????????????Init(nSize?nSize);
????????????SetData(value);
????????}
????????public?Matrix(Matrix?other)
????????{
????????????numColumns?=?other.GetNumColumns();
????????????numRows?=?other.GetNumRows();
????????????Init(numRows?numColumns);
????????????SetData(other.elements);
????????}
????????///?
????????///?初始化矩陣
????????///?<
評論
共有 條評論