久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5223|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

C#調(diào)用matlab函數(shù)詳細(xì)步驟和例程

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

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


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚州国产 | 激情五月婷婷综合 | 99亚洲精品 | 九色网址 | 69电影网| av在线免费看网址 | 国产原创在线观看 | 五月婷婷色 | 在线欧美一区 | 国产精品久久久久久婷婷天堂 | 亚洲天堂一区 | 一区二区三区精品视频 | 天天av天天好逼 | 国产精品一区二区三区久久 | www.色婷婷 | 瑞克和莫蒂第五季在线观看 | 久久久九九九九 | 日韩一区精品 | 精品国产一区二区三区久久久久久 | 亚洲精选久久 | 日本欧美在线观看视频 | 精品视频在线播放 | 欧美一区二区三区小说 | 国产伦精品一区二区三区视频金莲 | 久久精品成人热国产成 | 久久青草av | 欧美一级黄 | 欧美国产精品一区二区三区 | 岛国二区| 亚洲人成人一区二区在线观看 | 一区二区三区免费在线观看 | 久久尤物免费一区二区三区 | 国产精品www | 欧美一区二区三区免费电影 | 欧美一区免费 | 中文字幕在线免费观看 | 亚洲一区中文字幕在线观看 | 免费毛片在线 | 久久久免费 | 中文字幕综合 | 青青草视频免费观看 |