


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、VisualC#與Matlab混合編程由于VisualC#與Matlab混合編程的資料并不多,本文通過一個實例來闡述VisualC#與Matlab混合編程的方法。1. 一、混合編程的4種方式通過從Matlab的*.m文件中生成C語言版本的DLL1) 在Matlab中寫好m文件;2) 使用Matlab的編譯器,編譯為C#能識別的DLL文件;2. 建立C#工程,在工程中引用上一步生成的文件;C#調(diào)用Matlab工作區(qū)計算并返回結(jié)果主要使用engOpen,engClose,engPutVariable,engEvalString,engGetVariable函數(shù)進(jìn)行操作。大致過程如下:MatlabC
2、Sharp.engPutVariable(ep,ml_a,mx_a);MatlabCSharp.engPutVariable(ep,ml_b,mx_b);MatlabCSharp.engEvalString(ep,ml_c=ml_a+ml_b;);3. mx_c=MatlabCSharp.engGetVariable(ep,ml_c);使用MatlabDeployTool生成COM組件單擊菜單NewDeploymentProject-MATLABBuilderNE-GenericCOMComponent1) 添加相應(yīng)的M文件2) 保存,編譯3) 新建C#工程,引用生成的DLL文件。4. 使用M
3、atlabDeployTool生成.Net組件單擊菜單NewDeploymentProject-MATLABBuilderNE-.NetComponent1) 添加相應(yīng)的M文件2) 保存,編譯新建C#工程,引用生成的DLL文件。由于Matlab與C#的數(shù)組有一定的差異,但傳遞參數(shù)時,要轉(zhuǎn)換成Matlab的參數(shù)類型,因此要加入以下兩句。usingMathWorks.MATLAB.NET.Arrays;usingMathWorks.MATLAB.NET.Utility;而且要添加MWArray這個Reference,一般安裝完MATLABBuilderNE就有了,目錄為:/toolbox/dotn
4、etbuilder/bin/win32/v2.0/MWArray.dll。由于第四種方式用的最多,下面以第四種方式,闡述VisualC#與Matlab混合編程的過程。二、VisualC#與Matlab混合編程的過程1. 一生成.NETDLL文件編寫MatlabM函數(shù)functiontsum=sumab(a,b)tsum=sum(a,b);將以上函數(shù)保存為sumab.m文件。2. 建立Matlab工程1單擊File-New-DeploymentProject菜單,出現(xiàn)下面的窗體:輸入工程名test_combination_matlab_c,選擇MATLABBuilderNE-.NETCompon
5、ent,然后點擊OK按鈕。2將sumab.m文件加入工程,點擊DeploymentTool窗體的settings按鈕,如下列圖所示:DploynentToolIXx倒|蠱test_combination_mb_c(.NETCom|_ITert_combination_rri-atlab_c七sumab.mOtherfilesVGenerateWrboeOulputSettinge.在出現(xiàn)的窗體中,設(shè)置.NETFramework版本,其版本號一定要與C#所用的版本號一致,否則,會出問題。3.編譯matlab工程。點擊Build按鈕曲,編譯工程。編譯后,在工程目錄下的Distrib子目錄里生成C#
6、中使用的DLL文件test_combination_matlab_c.dll二在C#中調(diào)用matlab中的M函數(shù)1.引用matlab中生成的DLL文件。打開VisualStudio,新建一個WindowsApplication類型的C#工程,筆者建的是Test項目。建好后,在SolutionExplorer里,鼠標(biāo)右鍵單擊References-AddReferences-Browse,加入生成的test_combination_matlab_c/Distrib/test_combination_matlab_c.dll;重復(fù)操作,再加入Matlab目錄下的另一個dll文件,/toolbox/d
7、otnetbuilder/bin/win32/v2.0/MWArray.dll。Form里面,加入三個Label,二個Textbox組件以及一個Button組件,如下列圖所示:2.編寫代碼的命注意要引入MWArray.dll和test_combination_matlab_c.dll名空間。代碼如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Form
8、s;/引入命名空間usingMathWorks.MATLAB.NET.Arrays;usingMathWorks.MATLAB.NET.Utility;usingtest_combination_matlab_c;namespaceTestpublicpartialclassForm1:FormpublicForm1()InitializeComponent();privatevoidbutton1_Click(objectsender,EventArgse)Test_combination_matlab_csumob=newtest_combination_matlab_c.Test_com
9、bination_matlab_c();try(/整數(shù)例如MWArraya=(MWNumericArray)newint(System.Convert.ToInt16(textBox1.Text);MWArrayb=(MWNumericArray)newint(System.Convert.ToInt16(textBox2.Text);MWNumericArrayc=(MWNumericArray)sumob.sumab(a,b);this.label2.Text=c.ToString();/數(shù)組例如MWNumericArrayaa=newint2,21,2,3,4;MWNumericArraybb=newint2,25,6,7,8;MWArraycc;c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某年度免疫系統(tǒng)用藥市場分析及競爭策略分析報告
- 某年度禮品燈具戰(zhàn)略市場規(guī)劃報告
- 水上摩托游樂場行業(yè)跨境出海項目商業(yè)計劃書
- 游泳與在線平臺企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 天文觀測與宇宙企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 定制化學(xué)習(xí)筆記本行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 民俗藝術(shù)節(jié)行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 季節(jié)性節(jié)日氛圍攝影布置企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 用戶案例視頻企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 球隊贊助商洽談行業(yè)跨境出海項目商業(yè)計劃書
- 16059-城市軌道交通車輛構(gòu)造(第2版)-邱志華-模塊5
- GB/T 21871-2008橡膠配合劑縮略語
- GB/T 16604-2017滌綸工業(yè)長絲
- 小學(xué)英語過程性評價方案
- 2022年淮南市人民醫(yī)院醫(yī)護(hù)人員招聘筆試試題及答案解析
- 法定代表人、執(zhí)行董事董事長、董事、監(jiān)事、經(jīng)理的任職文件
- 鐵路工程地質(zhì)勘查階段監(jiān)理工作總結(jié)
- 密碼模塊安全檢測要求
- 吊籃保養(yǎng)記錄月檢
- (中職中專)發(fā)動機構(gòu)造與維修完整版課件匯總?cè)珪娮咏贪?最新)
- 食堂安全管理、操作培訓(xùn)考試題與答案
評論
0/150
提交評論