天天看點

基于.NET實作Matlab備用方案

基于.NET實作Matlab備用方案

借助AnyCAD Rapid .NET SDK僅用2分鐘,我們就可以完成一個簡單的MyMatlab應用,可以實作曲面的模拟功能。具體過程如下

基于.NET實作Matlab備用方案

今日圈内的朋友都在刷這樣的消息:

正值哈工大百年校慶之際,哈工大、哈工程的師生收到了MATLAB軟體停止服務的郵件,在與 MATLAB 開發公司 MathWorks 交涉之後,才得知因為美國政府實體名單的原因,相關授權已被中止。美國商務部宣布,将共計33家中國公司及機構等列入出口限制實體清單,其中就包括哈工大和哈工程兩所院校。這次釋出的清單從硬體擴充到軟體層面,以後哈工大師生寫論文不能再使用MATLAB處理資料了。 MATLAB是美國MathWorks在1984年推出的商用數學軟體,目前世界上 180 多個國家的超過三百萬工程師和科學家在使用 MATLAB 和 Simulink。經過十幾年的發展,MATLAB已經超越了普通數學軟體,成為理工科專業必不可少的工具。MATLAB用于算法開發、資料可視化、資料分析以及數值計算的進階技術計算語言和互動式環境。通俗點說隻要是數學方面的問題都可以用它來做,是以它的應用領域非常廣泛。

借助AnyCAD Rapid .NET SDK僅用2分鐘,我們就可以完成一個簡單的MyMatlab應用,可以實作曲面的模拟功能。具體過程如下:

1 準備工作

安裝程式環境:

注意:如果沒有安裝VS2019,則需要安裝一下最新的VC++的運作時庫,下載下傳連結如下:

  • x86:​​vc_redist.x86.exe​​
  • x64:​​vc_redist.x64.exe​​

1.1 建立一個控制台應用

基于.NET實作Matlab備用方案

1.2 使用nuget添加元件

使用nuget安裝可以自動添加.Net程式集引用

基于.NET實作Matlab備用方案

2 開始寫代碼

以可視化曲面:f(x,y) = sin(x) * cos(y)

namespace MyMatlab
{
    class Program
    {
        static void Main(string[] args)
        {
            var matplot = Matplot.Create("MyMatlab 2020");

            var xRange = new PlotRange(0, 3.14f * 2, 0.1f);
            var yRange = new PlotRange(0, 3.14f * 2, 0.1f);
            matplot.AddSurface(xRange, yRange, (u, v) =>
            {
                double x = u;
                double y = v;
                double z = Math.Sin(u) * Math.Cos(v);

                return new GPnt(x, y, z);
            });

            matplot.Show(800, 600);
        }
    }
}
      

2.3 編譯運作

基于.NET實作Matlab備用方案

完整項目工程: ​​https://gitee.com/anycad/MyMatplot​​

2.4 測試一下

函數:f(x,y) = sin(x) + cos(y)

基于.NET實作Matlab備用方案

3 小結

誠然,實作一個像MATLAB功能一樣豐富的軟體并非一朝一夕可完成,但千裡之行始于足下,不積小步無以至千裡,秉持水滴石穿,隻要功夫深鐵棒磨成針的精神,實作一個功能強大的數學軟體也并非不可能。

補充,最近老鄒讀到一段話感觸很深:

繼續閱讀