欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5350|回復: 1
打印 上一主題 下一主題
收起左側

C#調用matlab函數詳細步驟和例程

[復制鏈接]
跳轉到指定樓層
樓主
ID:252317 發表于 2018-9-14 17:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在項目過程中需要在ASP.NET頁面顯示三維效果的曲面圖,因C#中沒有相關的控件(暫時沒找到),需要調用其他軟件實現此功能,實現的方法有多種,這里只介紹在C#中調用matlab函數,實現繪制三維圖的功能。當然,matlab還有強大的數據處理能力,如果在C#中涉及到處理大量數據,也可以通過該方法調用matlab函數。
系統平臺:matlab2013a(破解的2013b未破解完全,謹慎使用)
VS2010
注意:將來使用調用matlab的C#程序時候,可以不安裝matlab程序,但必須安裝matlab的運行環境,即MCRinstall文件,這個在matlab安裝包里面一般可以找到。
操作步驟:1.在matlab的command窗口輸入mbuild(留空格)-setup,選擇編譯器,這里要選擇我們打算調用matlab的軟件,即VS2010;然后在command窗口輸入deploytool命令,同樣選擇編譯環境為VS2010。之后,會彈出下圖1所示界面。注意:這里的Name就是C#里要調用的dll文件名,Location就是查找dll文件的位置,Type要選擇.NET Asembly,點擊OK按鈕。
圖1
2.出現下圖所示的頁面,點擊Add Class添加類,這里注意修改默認的Class類名,Class類名就是我們在C#中要使用的類名稱,自己要記下來。修改完類名點擊Add file添加我們要使用的m文件,如圖3所示,這里m文件的名稱就是我們在C#中要使用的類的成員函數,也要把這個名稱記下來。之后,點擊圖3右上方的編譯按鈕,就會出現圖4的頁面,等待出現build finished即可(時間會有點長,要5-10分鐘)。這樣,我們在MATlab環境下的操作就完成了,請攝像機把鏡頭切換到VS2010環境中~~~
圖2
圖3
圖4
3.打開C#程序的“設計”頁面,在“解決方案資源管理器”里添加“引用”,打開圖5所示的界面,這里至少要添加兩個dll文件,一個是MWArray.dll(文件目錄為D:\MATLAB\R2011b_x64\toolbox\dotnetbuilder\bin\win64\v2.0),另一個是我們自己生成的dll文件(目錄在圖1Location中指定的)。
圖5
4.在ASP.Net的***.aspx.cs頁面下,要注意添加dll文件的至少2個命名空間,一個是using MathWorks.MATLAB.NET.Arrays;另一個是我們自己生成的dll文件的命名空間,如using TuShowOut;
一個簡單的例程:建議先使用一個最簡單的例程測試一下我們前面所設置的編譯環境是否正確,不要直接調用項目中用到的復雜的matlab函數。
1.matlab程序如下:
  1. function y=raicos(t)  
  2. result=2t;  
  3. end
復制代碼
2.在C#中調用matlab的函數,使用上面的4個步驟,添加引用之后,C#程序如下:
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7. using MathWorks.MATLAB.NET.Arrays;//系統dll文件  
  8. using Demodll;//自己生成的dll文件  
  9. namespace WebApplication1  
  10. {  
  11.     public partial class WebForm26 : System.Web.UI.Page  
  12.     {  
  13.         protected void Page_Load(object sender, EventArgs e)  
  14.         {  
  15.             demo h = new demo();//demo為class名稱,h為定義的成員函數  
  16.             MWArray x;//定義x為矩陣變量,將普通數轉化為matlab能識別的類型  
  17.             x = demo.raicos((MWArray)i);//調用matlab里的raicos函數  
  18.         }  
  19.     }  
  20. }  
復制代碼

完整的Word格式文檔51黑下載地址:
C#調用MATLAB.doc (254.5 KB, 下載次數: 20)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:796283 發表于 2020-7-6 09:51 | 只看該作者
除了繪制三維圖形,能不能調用matlab程序最終的數據結果啊?vs寫了上位機顯示matlab的數據處理結果,這個可以嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表