首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   VB与MATLAB混合编程探讨      ★★★ 【字体: 】  
VB与MATLAB混合编程探讨
收集整理:佚名    来源:本站整理  时间:2009-01-11 00:02:15   点击数:[]    

难。特别是MATLAB中用到的大量矩阵(数组)参数,调用需十分当心。本文在下面例子中采用文件方式传递参数,利用VB和MATLAB的文件读写功能传递数组参数,对于实时性要求不高的应用,可以方便稳妥地实现数据传递。

2 应用举例

在VB中利用随机数生成16个10以内的整数,作为一个信号序列,利用MATLAB的快速傅立叶变换函数(FFT())对序列进行变换,再将变换结果传递回VB,并显示在窗体上。

在MATLAB中编辑好M文件(test.m),实现读取序列文件及FFT并写回序列文件,调试成功。代码如下:

function t

fid=fopen't.txt''rt+' %以读写文本方式打开

文件

acount=fscanffid'%d' %文件以整数格式读入

矩阵a

m=fftacount %FFT运算

frewindfid %文件指针指向文件头

fprintffid'%f\n'm %向文件写入矩阵m

fclosefid

按照前述步骤在VC++中转换为test.c文件,找到接口函数,本例为mlfTest()。

void mlfTest(void){ 

mlfEnterNewContext(0,0);

Mtest();

mlfRestorePreviousContext(0,0);

}

编译生成test.dll文件。

在VB中生成随机序列并写入文件:

Private Sub Command1_Click()

Randomize

Dim i As Integer

Dim a As Integer

Dim b As String

Text1.Text = ″″

Open App.Path & ″\t.txt ″ For Output As #1

For i = 1 To 16

a = Int(10 * Rnd)

Print #1, LTrim(a)

b = b & Str(a) & Chr(13) & Chr(10)

Next i

Text1.Text = b

Close #1

End Sub

声明mlfTest()函数:

Private Declare Sub mlfTest Lib ″G\test\dll\dll.dll″ 

调用该函数的事件代码:

Private Sub Command2_Click()

MlfTest '调用函数

End Sub

本例中未向函数传递参数,也无需函数返回运算结果,故采用调用子程序过程(Sub)方式直接调用。结果由VB读取文件获得:

Private Sub Command3_Click()

Dim str1 As String

Dim str2 As String

Text2.Text = ″″

Open App.Path & ″\t.txt″ For Input As #1

Do While Not EOF1

Line Input #1 str1

str2 = str2 & str1 & Chr(13) & Chr(10)

Loop

Text2.Text = str2

Close #1

End Sub

本例在Windows XP、VB6.0、VC++6.0、MATLAB6.5下调试通过。VB与MATLAB的混合编程,可以脱离MATLAB环境运行,有利于程序发布及使用。通过二者结合,减少了设计算法的时间,降低了编程难度,同时兼顾了代码安全和界面友好。程序界面如图2所示。



上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:QNX环境下多线程编程

  • 下一篇文章:基于RT-Linux防危保障机制的实验模型
  • 返回上一页】【打 印】【关闭窗口
    中查找“VB与MATLAB混合编程探讨”更多相关内容 5VAR论文频道
    中查找“VB与MATLAB混合编程探讨”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››VB与MATLAB混合编程探讨
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .