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);//*單參數
        }

生成結果如下:

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