C#实现基本的矩阵数学库

本文介绍了如何在C#中实现一个简单的矩阵数学库,包括矩阵的赋值、输出和寻找绝对值最大元的功能。代码示例展示了如何定义矩阵的行数、列数和数据,并使用IMatrix接口进行组织,同时也考虑了稀疏矩阵的情况。
摘要由CSDN通过智能技术生成

先给出SimpleMatrix.cs的开头,定义总行数、总列数、所有数据(double类型)

using System;
using System.IO;

namespace NeuralDefs.Matrix
{
    public class SimpleMatrix : IMatrix
    {
        public int Row { get; set; }
        public int Column { get; set; }
        public double[,] Data { get; set; }

其中用了IMatrix矩阵来组织,因为我还写了稀疏矩阵的。关于这个接口在介绍稀疏矩阵时候再写


1、首先实现简单矩阵的最基本功能——赋值和输出

我经常用csv格式的文件,用自然方式存储和查看矩阵

public SimpleMatrix(int row, int col)
        {
            // init matrix
            Row = row;
            Column = col;
            Data = new double[row, col];

            for (var i = 0; i < row; i++)
            {
                for (var j = 0; j < col; j++)
                {
                    Data[i, j] = 0;
                }
            }
        }

        public SimpleMatrix(string fileName)
        {
            //var splitUnit = '\t';
            var splitUnit = ',';

            // count columns
            var srCol = new StreamReader(fileName);
            var firstLine = srCol.ReadLine();
            if (firstLine != null)
            {
                var firstArray = firs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值