[VB.NET]VB与MATLAB接口的实现
2008-12-04 20:58
309 查看
VB与MATLAB接口的实现
实例说明
在本实例中,我们制作一个能够与Matlab进行交互的应用程序。程序运行结果如图78-1所示。
图78-1 运行结果
技术要点
<script type="text/javascript"><!--
google_ad_client = "pub-8333940862668978";
/* 728x90, 创建于 08-11-30 */
google_ad_slot = "4485230109";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
l 引用Matlab库
l 执行Matlab命令
l 结束Matlab
实现过程
■ 新建项目
打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"CnMatlab",然后选择保存路径。单击"确认"。
■ 添加控件
向当前窗体添加五个Button按钮,两个Picture控件,一个Label控件,一个Hscroll控件和一个Vscroll控件。单击菜单"项目|添加引用",选中"Matlab Automation(Version5.3)Type Library"这一项。
注意:本程序只能在安装有Matlab的机器上运行。
■ 设置属性
将Label控件和Command按钮的Text属性设置为与界面一致。在此不再赘述。
■ 添加代码
Dim str1 As String
' 显示正弦图
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
matlab.MinimizeCommandWindow()
str1 = "t=1:0.1:2*pi;y=sin(t);plot(t,y)"
matlab.Execute(str1)
matlab.Execute("print( gcf, '-djpeg', 'c:/foo')")
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
' 显示三维扇形图
Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
str1 = "sale=[100 150 400 250];pie3(sale,[0 0 1 0],{'春季','夏季','秋季','冬季'})"
matlab.Execute(str1)
matlab.Execute("print( gcf, '-djpeg', 'c:/foo')")
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
' 显示三维螺旋线图
Private Sub Command3_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command3.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
str1 = "t=0:0.1:8*pi;plot3(sin(t),cos(t),t)"
matlab.Execute(str1)
matlab.Execute("print( gcf, '-djpeg', 'c:/foo')")
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
' 显示立体球图
Private Sub Command4_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command4.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
str1 = "k = 5;n = 2^k-1;[x,y,z] = sphere(n);c = hadamard(2^k);surf(x,y,z,c);"
str1 = str1 & "colormap ([1 1 0; 0 1 1]);axis equal"
matlab.Execute(str1)
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
' 显示立体波浪图
Private Sub Command5_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command5.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
str1 = "[X,Y,Z] = peaks(30);surfc(X,Y,Z);colormap hsv;axis ([-3 3 -3 3 -10 5])"
matlab.Execute(str1)
matlab.Execute("print( gcf, '-djpeg', 'c:/foo')")
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
■ 运行程序
单击菜单"调试|启动"或单击 图标运行程序。
小结
Matlab具有数值运算方便、快捷和画图的优点。它与VB结合,能实现功能强大的程序。因此,我们利用VB.NET可以开发出很有使用价值的程序。
实例说明
在本实例中,我们制作一个能够与Matlab进行交互的应用程序。程序运行结果如图78-1所示。
图78-1 运行结果
技术要点
<script type="text/javascript"><!--
google_ad_client = "pub-8333940862668978";
/* 728x90, 创建于 08-11-30 */
google_ad_slot = "4485230109";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
l 引用Matlab库
l 执行Matlab命令
l 结束Matlab
实现过程
■ 新建项目
打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"CnMatlab",然后选择保存路径。单击"确认"。
■ 添加控件
向当前窗体添加五个Button按钮,两个Picture控件,一个Label控件,一个Hscroll控件和一个Vscroll控件。单击菜单"项目|添加引用",选中"Matlab Automation(Version5.3)Type Library"这一项。
注意:本程序只能在安装有Matlab的机器上运行。
■ 设置属性
将Label控件和Command按钮的Text属性设置为与界面一致。在此不再赘述。
■ 添加代码
Dim str1 As String
' 显示正弦图
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
matlab.MinimizeCommandWindow()
str1 = "t=1:0.1:2*pi;y=sin(t);plot(t,y)"
matlab.Execute(str1)
matlab.Execute("print( gcf, '-djpeg', 'c:/foo')")
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
' 显示三维扇形图
Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
str1 = "sale=[100 150 400 250];pie3(sale,[0 0 1 0],{'春季','夏季','秋季','冬季'})"
matlab.Execute(str1)
matlab.Execute("print( gcf, '-djpeg', 'c:/foo')")
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
' 显示三维螺旋线图
Private Sub Command3_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command3.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
str1 = "t=0:0.1:8*pi;plot3(sin(t),cos(t),t)"
matlab.Execute(str1)
matlab.Execute("print( gcf, '-djpeg', 'c:/foo')")
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
' 显示立体球图
Private Sub Command4_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command4.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
str1 = "k = 5;n = 2^k-1;[x,y,z] = sphere(n);c = hadamard(2^k);surf(x,y,z,c);"
str1 = str1 & "colormap ([1 1 0; 0 1 1]);axis equal"
matlab.Execute(str1)
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
' 显示立体波浪图
Private Sub Command5_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command5.Click
Dim matlab As Object
matlab = CreateObject("matlab.application")
str1 = "[X,Y,Z] = peaks(30);surfc(X,Y,Z);colormap hsv;axis ([-3 3 -3 3 -10 5])"
matlab.Execute(str1)
matlab.Execute("print( gcf, '-djpeg', 'c:/foo')")
matlab.Quit()
matlab = Nothing
ShowPic()
End Sub
■ 运行程序
单击菜单"调试|启动"或单击 图标运行程序。
小结
Matlab具有数值运算方便、快捷和画图的优点。它与VB结合,能实现功能强大的程序。因此,我们利用VB.NET可以开发出很有使用价值的程序。
相关文章推荐
- 介绍在VB.NET中接口实现多态实际代码知识
- 在VB.NET动态接口是如何实现的?
- Vb.Net实现ICommand接口,或继承BaseCommand
- VB.NET使用接口实现附带插件功能的程序
- IComparer(Of T) 接口的实现 (vb.net)
- VB.NET中实现IEnumerator接口
- VB.net和c#利用IOleCommandTarget接口实现Html编辑器的Glyphs(原创)
- VB与MATLAB接口实现方法
- VB.Net中实现VB6中的App.hInstance
- VB.NET 中嵌入Google earth 并实现gps实时定位
- 对于VB.NET动态标题实现方法知识描述
- VB.NET验证邮件地址的合法性实现代码
- C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)
- 关于VB.net禁用右键菜单的实现
- 用vb.net实现写字板程序报告(一)
- VB实现SHELL扩展之接口参数获取失败探析
- 用JScript实现VB.Net,C#的[委托Delegate]:
- [VB.NET]在Datagridview中添加数据,并且是成批添加修改,怎么实现
- 使用VB.NET实现改变显示器的分辨率实例
- VB.NET下用FSO(文件系统对象模型)实现获取硬盘信息