C#中矩阵的使用
前言矩阵在数据处理中有非常广泛的应用本文主要记录在C#中应用矩阵来处理数据在后续学到新的相关内容会不时对本文进行更新。一. 给矩阵/向量添加行列在数据质量控制中经常会使用滑窗方法此时对边界层数据就要添加行或列本部分即为对数据添加行/列的实现方式usingMathNet.Numerics.LinearAlgebra.Single;namespaceMyConsoleAPPTest{classProgram{privatebooladdMatrix(outDenseMatrixdenseMatrix){// 创建矩阵并初始化float[,]matrixnewfloat[3,3]{{1,2,3},{4,5,6},{7,8,9}};DenseMatrixdenseMatrixDenseMatrix.OfArray(matrix);introwCountdenseMatrix.RowCount;// 上下加一行varrowEndSubdenseMatrix.SubMatrix(0,1,0,3);//第0行开始取1行第0列开始取3列varrowStartSubdenseMatrix.SubMatrix(rowCount-1,1,0,3);denseMatrix(DenseMatrix)denseMatrix.Stack(rowEndSub);// 会加到后行denseMatrix(DenseMatrix)rowStartSub.Stack(denseMatrix);// 左右各加一列varcolMatDenseMatrix.Create(rowCount2,1,float.NaN);denseMatrix(DenseMatrix)colMat.Append(denseMatrix);// 以列加入denseMatrix(DenseMatrix)denseMatrix.Append(colMat);returntrue;}privatebooladdVector(outDenseVectordenseVector){// 创建矩阵并初始化float[,]matrixnewfloat[3,3]{{1,2,3},{4,5,6},{7,8,9}};varrowDatamatrix.Row(0).ToArray();// 取出矩阵的某一行varaddDataDenseVector.Creat(2,float.NaN).ToArray();// 创建1x2的无效值填充的向量// 定义扩充后的数据float[]denseVectornewfloat(32*2);//左右各扩充两个addData.CopyTo(denseVector,0);rowData.CopyTo(denseVector,2);addData.CopyTo(denseVector,23);returntrue;}staticvoidMain(string[]args){ProgrampnewProgram();p.addMatrix(outDenseMatrixdenseMatrix);p.addVector(outDenseVectordenseVector);}}}输出的矩阵会在原来矩阵的第一行前加入其最后一行最后一行加入其第一行左边和右边分别加入一列NaN。2024.10.16 16:192025.6.3 新增向量添加行列函数addVector2026.5.14 VS中C#编程的快捷键使用当对一个变量名修改后希望其他调用的地方同步更新光标放在修改变量名上使用ctrlRR连按两次R出现变量名编辑框此时所有调用该变量的地方均被选中修改完后按enter所有地方进行了同步更新。未完待续。。。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2614148.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!