Matlab与WPF——分析矩阵生成图表

引言:矩阵转换,是Matlab到.NET环境非常重要的数据转换技术;阅读本文前提是已经会Matlab在.NET环境下需要做的环境配置操作,本文实现WPF调用已设计好的Matlab算法程序

为了让读者更加清楚Matlab在.NET环境下的混编技术,笔者简述前期环境配置。

1、若已经安装Matlab程序可以不用再去官网安装Matlab在.NET环境下的程序,若未安装Matlab需要安装相应版本的环境程序,笔者安装的是2018.b版本搭配.NET4.6 目标平台x64。

2、去NUGET管理平台下载MathNet.Numerics 和MathNet.Numerics.Data.Matlab 做引用包。

3、引入你的Matlab生成的.dll文件开始你的表演。

 

using MathNet.Numerics.LinearAlgebra; //*Nuget包
using MathNet.Numerics.Statistics.Mcmc; //*Nuget包
using MathNet.Numerics.Data.Matlab; //*Nuget包
using MatLabX;  //*笔者的dll
using MathWorks.MATLAB.NET.Arrays;   //*Nuget包

Matrix<double> m_data = MatlabReader.Read<double>(DataPath);
//*上述代码就是读取矩阵,DataPath就是  .mat矩阵文件。 得到的数据就是经过转换后的矩阵数据。
        /// <summary>
        /// 生成matlab图表的方法 这仅适用于笔者的matlab程序,但对矩阵是通用的。
        /// </summary>
        /// <param name="DanDanID"></param>
        /// <param name="DanDanPara"></param>
        /// <param name="m_data"></param>
        private void DanDanGeneTable(int DanDanID, double DanDanPara, Matrix<double> m_data)
        {
            Array array = m_data.ToArray();
            double[,] c_data = (double[,])array;
            double[] singaldata = new double[3000];
            for (int i = 0; i < 3000; i++)
            {
                singaldata[i] = c_data[i, DanDanID];
            }
            MWArray temdata = new MWNumericArray(singaldata);
            MWArray vNh0 = new MWNumericArray(DanDanPara);
            MatlabClass matlabClass = new MatlabClass();
            matlabClass.DanCanshuStaTest(temdata, vNh0);//*单参数
        }

生成结果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章