Matlab的GUI功能差
许多大侠不愿意看到大家常用的DOS-Windows界面(命令行),于是使用了MATLAB带的GUI生成工具,但是MATLAB提供的控件和事件处理实在有限。GUI界面做好后放在机器里,向尚未进实验室的师妹师弟(们)炫耀一下,还勉强可以增加一些魅力值。
但我还是要讲GUI程序设计,毕竟这个可视化的界面操作是时代的潮流。使用Matlab进行GUI程序设计的本质目的是为了提供最便捷的交互方式。有很多人多混合语言编程非常地反感,也许是觉得会产生一个怪物,但假如结合的结果是件非常美艺术品,就不应该排斥这中结合的力量。对于matlab而言,实现MATLAB与VC或者BC或者C++BUILDER等可视化设计语言的交互,提高速度,美化界面,使程序更符合Windows的规范,同时又利用MATLAB的强大功能,对任何人来说都很有意义。
首先使用Matlab自带的GUIDE,在命令窗口输入GUIDE,运行GUI界面设计工具,这样系统会自动生成.fig以及.m文件,犹如我们常用的界面资源文件和后台代码文件,关于事件处理的代码可以在.m中编写。这些通过Matlab的帮助,应该是非常容易学习的。
其次要使用其它的可视化开发工具,比如VC++,用C++(或者C)语言操作MATLAB,有三种途径:
·MEX文件
在MATLAB中可调用的C或Fortran语言程序称为MEX文件。MATLAB可以直接把MEX文件视为它的内建函数进行调用。MEX文件是动态链接DL的子例程,MATLAB解释器可以自动载入并执行它。MEX文件主要有以下用途:
对于大量现有的C或者Fortran程序可以无须改写成MATLAB专用的M文件格式而在MATLAB中执行。
对于那些MATLAB运算速度过慢的算法,可以用C或者Frotran语言编写以提高效率,这点在效率改进方面意义重大。
·MAT文件应用程序
MAT文件是MATLAB专用的用于保存数据至磁盘和向MATLAB导入、从MATLAB导出数据的数据文件格式。MAT文件提供了一种简便的机制,它允许你在两个平台之间以灵活的方式移动数据。而且,它还提供了一种途径来向其它单机MATLAB应用导入或者导出数据。
为了简化在MATLAB环境之外对MAT文件的使用,MATLAB给出了一个操作例程库,通过它,我们可以使用C/C++或者Fortran程序读写MAT文件。
·引擎应用程序
MATLAB提供了一系列的例程使得别的程序可以调用MATLAB,从而把MATLAB用作一个计算引擎。MATLAB引擎程序指的是那些通过管道(在UNIX系统中)或者ActiveX(在Windows系统中)与独立MATLAB进程进行通信的C/C++或者Fortran程序,这样两者的独立性是最强的,只是通过开放的接口让外界程序管理Matlab进程的建立,调用,关闭等。
MATLAB同样提供了一个函数库来启动或者结束MATLAB进程、与MATLAB交换数据以及发送MATLAB命令。
……
要实现可执行程序的建立,对于Matlab来说,有些困难,可以借助vc++或者其它强大的编译器将程序整体编译为.exe文件,还要考虑执行环境中是否有Matlab安装。
一篇可以参考的论文http://www.simwe.com/jour/prog/p001008.htm2005年1月6日
本文地址:http://com.8s8s.com/it/it23786.htm