• 大小: 103KB
    文件类型: .cs
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: C#
  • 标签: C#  矩阵算法  .net  

资源简介

C# 矩阵算法 .net 矩阵算法。C#矩阵运算类。实现转置,相乘,相加,求逆。

资源截图

代码片段和文件信息

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; // 矩阵列数

        private int numRows = 0; // 矩阵行数

        private double eps = 0.000001; // 缺省精度

        protected double[] elements = null; // 矩阵数据缓冲区

        #endregion
        /// 
        /// 列数
        /// 

        public int ColumnsCount
        {
            get
            {
                return numColumns;
            }
        }
        /// 
        /// 行数
        /// 

        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 < numRows; ++i)
            {
                for (int j = 0; j < numColumns; ++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);
        }
        /// 

        /// 初始化矩阵
        /// <

评论

共有 条评论