C#中矩阵的使用

9,489次阅读
没有评论

共计 946 个字符,预计需要花费 3 分钟才能阅读完成。

前言

矩阵在数据处理中有非常广泛的应用,本文主要记录在 C# 中应用矩阵来处理数据,在后续学到新的相关内容会不时对本文进行更新。

一. 给矩阵添加行列

在数据质量控制中经常会使用滑窗方法,此时对边界层数据就要添加行或列,本部分即为对数据添加行 / 列的实现方式

using MathNet.Numerics.LinearAlgebra.Single;
namespace MyConsoleAPPTest
{
	class Program
	{
		private bool addMatrix(out DenseMatrix denseMatrix)
		{
			
			float[,] matrix = new float[3,3]{{1,2,3},{4,5,6},{7,8,9}};
			DenseMatrix denseMatrix = DenseMatrix.OfArray(matrix);
			int rowCount = denseMatrix.RowCount;
			
			var rowEndSub = denseMatrix.SubMatrix(0, 1, 0, 3);
			var rowStartSub = denseMatrix.SubMatrix(rowCount - 1, 1, 0, 3);
			denseMatrix = (DenseMatrix)denseMatrix.Stack(rowEndSub); 
			denseMatrix = (DenseMatrix)rowStartSub.Stack(denseMatrix);
			
			var colMat = DenseMatrix.Create(rowCount+2, 1, float.NaN);
			denseMatrix = (DenseMatrix)colMat.Append(denseMatrix);  
			denseMatrix = (DenseMatrix)denseMatrix.Append(colMat);
			return true;			
		}
		static void Main(string[] args)
		{
			Program p = new Program();
			p.addMatrix(out DenseMatrix denseMatrix);
		}
	}
}

输出的矩阵会在原来矩阵的第一行前加入其最后一行,最后一行加入其第一行,左边和右边分别加入一列 NaN。
2024.10.16 16:19

未完待续。。。

原文地址: C# 中矩阵的使用

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-23发表,共计946字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)