1、創(chuàng)建一個(gè)簡單的.m文件打開Matlab 2009a,新建一個(gè).m文件,輸入如下代碼: function result=twice(inputvar); 將代碼保存為twice.m文件,如圖所示。 2、使用Matlab DeployTool生成.Net組件 在Matlab 2009a的Command Window中輸入deploytool并回車,如圖所示。 就可以打開Matlab的DeployTool,如圖所示。 在DeployTool窗體中,點(diǎn)擊新建按鈕,打開新建項(xiàng)目對話框,如圖所示。 在左邊的列表中選擇MATLAB Builder NE,并在右邊的列表中選擇.NET Component,我們將這個(gè)工程命名為twice.prj,并點(diǎn)擊OK,則進(jìn)入項(xiàng)目設(shè)置界面,如圖所示。 在Twice文件夾中添加我們剛才建好的.m文件,如圖所示。 點(diǎn)擊編譯按鈕或使用快捷鍵Ctrl+B則對該工程進(jìn)行編譯。編譯完成后的主窗口如圖所示。 3、創(chuàng)建一個(gè)測試用的Windows應(yīng)用程序,將其命名為MatlabTest,如圖所示。 4、添加對MWArray.dll的引用 MWArray.dll一般位于[Matlab安裝位置]\R2009a\toolbox\dotnetbuilder\bin\win32\v2.0文件夾中,我們注意到Matlab 2009a對應(yīng)的MWArray.dll是2.9.0.0版本的。在進(jìn)行Matlab版本升級(jí)的時(shí)候,比較頭疼的就是這個(gè)dll。 因?yàn)榘姹旧?jí)意味著之前生成的dll都需要重新生成。關(guān)于版本升級(jí)的問題,我將在后面的博文中詳細(xì)介紹。 之所以添加MWArray.dll,是因?yàn)樵谶@種混合編程方式下,我們經(jīng)常要 using MathWorks.MATLAB.NET.Arrays; 5、添加對Matlab生成的twice.dll的引用。 6、添加窗體中相應(yīng)的組件。 添加一個(gè)Label控件,并修改其Text屬性為“計(jì)算結(jié)果”; 添加一個(gè)Label控件,用于顯示計(jì)算結(jié)果; 添加一個(gè)Button控件,用于執(zhí)行計(jì)算方法。 設(shè)計(jì)好后的Form1窗體如圖所示。 7、編寫相應(yīng)的后臺(tái)代碼。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MathWorks.MATLAB.NET.Arrays;
using twice;
namespace MatlabTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int i = 5;
Twice c = new Twice();
MWArray result = c.twice((MWArray)i);
this.label2.Text = result.ToString();
}
}
}
8、執(zhí)行并查看結(jié)果 在代碼中輸入了一個(gè)變量i并為其賦值5,可以看到經(jīng)過調(diào)用Matlab計(jì)算,順利返回計(jì)算結(jié)果10。 |
|
|