Matlab程序设计课程总结
学院
班级
学号
姓名
成绩
1.Matlab的课程总结
随着对matlab的学习的深入,我对其了解也更加深入。
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是矩阵实验室(Matrix Laboratory)的简称,MATLAB和Mathematica、Maple并称为三大数学软件它在数学类科技应用软件中在数值方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。此高级语言可用于技术计算,此开发环境可对代码、文件和数据进行管理,交互式工具可以按迭代的方式探查、设计及求解问题,数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等,二维和三维图形函数可用于可视化数据,各种工具可用于构建自定义的图形用户界面,各种函数可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及Microsoft Excel)集成。
应用matlab语言编程的方法来对复杂电路进行分析和计算,不仅节约计算时间、方便地调试电路参数,而且还可以非常直观地观察和测量电路中的电压、电流和功率等物理量。结论表明,matlab提供了高效简洁的编程方法,其强大而简易的绘图功能、矩阵和数组运算能力以及很强的扩充性,能充分的满足基本电路分析、计算的需要,从而可以大大地提高计算精度和工作效率,在电路理论学科研究与工程实践中具有很好的应用价值。
2.matlab的优势和应用
2.1 MATLAB的优势
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能
图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(6)实用的程序接口和发布平台
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库以及图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++的代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
(7)应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
2.2matlab的应用
MATLAB的应用领域十分广阔,典型的应用举例如下:
(1) 数据分析
(2) 数值与符号计算;
(3) 工程与科学绘图;
(4) 控制系统设计;
(5) 航天工业;
(6) 汽车工业;
(7) 生物医学工程;
(8) 语音处理;
(9) 图像与数字信号处理;
(10) 财务、金融分析;
(11) 建模、仿真及样机开发;
(12) 新算法研究开发;
(13) 图形用户界面设计。
3.matlab在电路分析中的应用举例
在电路分析中,随着电路规模的加大,微分方程阶数以及联立方程的个数势必增多,给解算带来困难。传统的计算机编程语言,如FORTRAN、C语言等在处理高阶微分方程和大规模联立方程组问题时,大量的时间和精力都花在矩阵处理(如矩阵输入、求逆、稀疏矩阵处理等)和图形的生成分析等繁琐易错的细节上。而被誉为第四代计算机语言的MATLAB在矩阵处理和图形处理等方面有着得天独厚的优势。利用 MATLAB的M文件来求解电路 方程,只需一个或几个语句即可完成,同时MATLAB提供的 Simulink工具可直接建立电路模拟模型,随意改变模拟参数,并且立即可得到修改后的模拟结果(Scope显示),进一步省去了编程的步骤。
1.图一所示的电路中,Us=16V,R1=R3=R4=1Ω,R2=2Ω,K=4,求U10.:
求解此题的方程组为
对应的M文件为
A=[-7 -2 0;-3 2 0;1 0 1]; %定义方程组的系数矩阵A
B=[16 0 16]; %定义右端矩阵
C=A\B %求解未知变量矩阵C
C=4.000
6.000
12.000 此为U10值
2.在图3所示的电路中,R3=R6=1Ω,G8=1S,L1=1H,C4=1e-6F,C9=2e-6F,US7=10sin100tV,IS2=2sin100Ta,g=1.用2b法求各支路的变量。
与图3对应的2b方程的矩阵形式为
其M文件为
A=[-1 0 0 0 0 1 0 0 0;-1 1 0 0 0 1 0 0;0 1 0 0 0 -1 0 1 1;0 0 0 1 0 0 -1 0 0;0 0 0 0 -1 0 0 0 -1]
B=[1 1 0 0 0 1 0 0 0;0 0 1 -1 0 0 -1 0 0;0 -1 -1 0 0 0 0 1 0;0 0 0 0 -1 0 0 -1 1]
C=[-1 0 -1 j*1E -4 0 -1 1 1 j*2E -4]
Ye=diag(C)
Ye(5,6)=-1
D=[j*1 0 0 1 1 -1 1 1 0 -1 -1];
Ze=diag(D)
Us=[0 0 0 0 0 0 1 0+j* 0 0 0]'
Is=[0 -2+j*0 0 0 0 0 0 0 0]'
E=zeros(5,9)
F=zeros(4,9)
G=[0 0 0 0 0]'
H=[0 0 0 0]'
W=[E A;B F;Ye Ze]
N=[G;H;Us+Is]
Xn=W\N
第6条支路的电压向量为
1.0e+002*(-0.0000+0.0004i);
计算其峰值为:0.05656V。
3.图6所示的电路中,开关 s闭合前已达稳定状态。已知:R=0.1Q,C=1F,L=0.1H,e1(t)=10V,e(t)=5V,求开关s在时间t=0瞬时闭合后,电感支路上的电流iL(t)。
此题求解的二阶微分方程如下:
对应的M文件为
dsolve('D2y+10*Dy+10*y=1000','Dy(0)=100','Y(0)=0')
ans=100-101.6398*exp(-1.1270*t)+1.6398*exp(-8.8730*t)
其解为iL(t)=100-101.6398e-1.1270t+1.6398e-8.8730t.
第二篇:matlab课程学习总结
目 录
VC++ & Matlab 混 合 编 程 的 快 速 实 现. 2
摘 要. 2
关 键 词. 2
简 介 :. 2
实例分析. 3
1、编写Matlab函数. 3
2、Matlab6.5编译器设置. 3
3、建立C++控制台工程. 5
4、启用Matlab Add-in 工具条. 6
5、VC++6.0环境及工程设置. 7
6、Matlab到C++的代码转换. 10
7、C++函数的使用. 11
特别说明一:. 12
特别说明二:. 13
8、程序的发布. 13
总 结. 13
VC++ & Matlab 混 合 编 程 的 快 速 实 现
摘 要 :
许 多 工 程 软 件 需 要 用 到 复 杂 的 数 学 算 法 。VC++能 够 形 成 各 种 用 户 界 面 , 并 可 以 直 接 与 系 统 及 底 层 硬 件 交 换 数 据 。 因 此 研 究 VC++和 Matlab的 混 合 编 程 具 有 很 大 的 实 际 意 义 。
该 文 讨 论 了 如 何 使 用 Matlab 的 Complier 将 *.m 函 数 编 译 为 动 态 链 接 库 DLL, 提 供 VC++ 调 用 的 方 法 , 提 供 了 一 种 VC++与 Matlab 混 合 编 程 的 快 速 实 现 。
关 键 词 : Matlab VC++ MCC Complier 动 态 链 接 库 DLL
简 介 :
Matlab 作 为 当 今 世 界 上 应 用 最 为 广 泛 的 数 学 软 件 , 具 有 非 常 强 大 的 数 值 计 算 、 数 据 分 析 处 理 、 系 统 分 析 、 图 形 显 示 甚 至 符 号 运 算 的 功 能 。 已 经 在 如 生 物 工 程 , 图 像 处 理 , 语 音 处 理 , 雷 达 探 空 , 声 纳 探 水 , 地 震 探 地 , 以 及 控 制 论 , 系 统 论 等 各 个 领 域 得 到 广 泛 的 应 用 。 它 是 一 个 完 整 的 数 学 平 台 , 在 这 个 平 台 上 , 用 户 只 需 寥 寥 数 语 就 可 以 完 成 十 分 复 杂 的 功 能 , 大 大 提 高 了 工 程 分 析 计 算 、 图 像 处 理 的 效 率 。 但 是 Matlab 强 大 的 功 能 只 能 在 它 所 提 供 的 平 台 上 才 能 使 用 , 即 用 户 必 须 在 安 装 Matlab 系 统 的 机 器 上 才 能 执 行 *.m 文 件 。 这 样 当 用 户 需 要 将 在 Matlab下 已 开 发 完 毕 的 复 杂 算 法 应 用 到 高 级 语 言 开 发 环 境 下 时 就 带 了 问 题 , 是 将 现 成 的 东 西 集 成 高 级 语 言 开 发 的 程 序 中 呢 ? 还 是 用 高 级 语 言 再 重 新 实 现 一 遍 ? 显 然 大 家 所 期 望 的 是 减 少 工 作 量 , 最 好 能 将 Matlab 下 开 发 好 的 程 序 或 函 数 直 接 应 用 到 高 级 语 言 开 发 的 程 序 中 , 这 就 是 Matlab 与 高 级 语 言 的 混 合 编 程 问 题 。
VC++是 当 前 Windows 下 的 主 要 编 程 语 言 之 一 , 它 能 方 便 地 形 成 应 用 软 件 中 所 需 要 的 各 种 用 户 界 面 和 工 具 并 直 接 与 系 统 及 底 层 硬 件 交 换 数 据 。用 VC++开 发 的 系 统 具 有 容 易 维 护 升 级 、 界 面 友 好 、 代 码 效 率 高 、 执 行 速 度 快 等 一 系 列 优 点 , 因 此 已 成 为 目 前 应 用 软 件 开 发 中 广 泛 采 用 的 主 要 工 具 之 一 。 因 此 , 如 何 将 Matlab 与 VC++进 行 有 效 的 混 合 编 程 广 受 工 程 科 研 人 员 的 关 注 。 解 决 这 个 问 题 , 不 仅 能 更 好 地 发 挥 Matlab 强 大 的 功 能 , 还 能 快 速 地 进 行 软 件 开 发 , 尤 其 是 当 软 件 开 发 中 需 要 实 现 复 杂 的 数 学 算 法 、 图 形 处 理 时 尤 为 迫 切 。研 究 VC++与 Matlab 的 混 合 编 程 具 有 很 大 的 实 际 意 义 。
实例分析
1、编写Matlab函数
函数文件sum_prod.m,内容如下:
function [sum,prod] = sum_prod(p1,p2)
sum = p1+p2; % p1与p2的和
prod = p1.*p2; % p1与p2的点乘
该函数完成的是矩阵的求和与点乘的功能,下面将介绍把该代码转换成C++环境可用的代码的方法。
2、Matlab6.5编译器设置
(1) 在同一台电脑上安装Matlab6.5和Visual C++6.0;
(2) mex命令设置
(a)运行Matlab,在Matlab的命令窗口(Command Window)键入“mex -setup”命令后,按回车键,安装Matlab编译器;
(b) 命令窗口出现如下提示:
Please choose your compiler for building external interface (MEX) files:
Would you like mex to locate installed compilers [y]/n?
此时键入”y”,按回车;
(c) 命令窗口出现如下提示:
Please choose your compiler for building external interface (MEX) files:
Would you like mex to locate installed compilers [y]/n? y
Select a compiler:
[1] Digital Visual Fortran version 6.0 in C:\Program Files\Microsoft Visual Studio
[2] Lcc C version 2.4 in C:\MATLAB6P5\sys\lcc
[3] Microsoft Visual C/C++ version 6.0 in C:\Program Files\Microsoft Visual Studio
[0] None
此时键入”3”,按回车;选择Microsoft Visual C++6.0的编译器
(d) 命令窗口出现如下提示:
Please verify your choices:
Compiler: Microsoft Visual C/C++ 6.0
Location: C:\Program Files\Microsoft Visual Studio
Are these correct?([y]/n):
此时键入”y”,按回车;确认选择Microsoft Visual C++6.0的编译器
(3) mbuild命令设置
(a) 运行Matlab,在Matlab的命令窗口(Command Window)键入“mbuild -setup”命令后,按回车键,安装Matlab编译器;
(b) 命令窗口出现如下提示:
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n?
此时键入”y”,按回车;
(c) 命令窗口出现如下提示:
[1] Lcc C version 2.4 in C:\MATLAB6P5\sys\lcc
[2] Microsoft Visual C/C++ version 6.0 in C:\Program Files\Microsoft Visual Studio
[0] None
此时键入”2”,按回车;选择Microsoft Visual C++6.0的编译器
(d) 命令窗口出现如下提示:
Please verify your choices:
Compiler: Microsoft Visual C/C++ 6.0
Location: C:\Program Files\Microsoft Visual Studio
Are these correct?([y]/n):
此时键入”y”,按回车;确认选择Microsoft Visual C++6.0的编译器
(4) 在Matlab的命令窗口(Command Window)键入“cd(prefdir); mccsavepath prefdir;”启动MATLAB add-in工具条
3、建立C++控制台工程
(1) 新建一个C++控制台工程Test
其它都采用默认设置。然后在该工程中添加Test.cpp文件
4、启用Matlab Add-in 工具条
(1) 在上面的VC工程中,在菜单栏的空白处右键单击鼠标,出现如下菜单
点击Coustomize…菜单项,出现如下Coustomize对话框,
选择Add-in and Macro Files标签,选中MATLAB Add-in选项,点Close按钮关闭对话框,这里会在菜单附近出现如下工具条,它就是Matlab Add-in 工具条。
5、VC++6.0环境及工程设置
在上面的VC工程中,进行以下设置
(1) VC++6.0环境设置
单击菜单Tools,出现如下菜单
单击Options…菜单项,出现Options对话框,选择Directories标签,在include files里面加入:
C:\MATLAB6P5\EXTERN\INCLUDE
C:\MATLAB6P5\EXTERN\INCLUDE\CPP
如下图所示
在Library files里面加入:
C:\MATLAB6P5\EXTERN\LIB
C:\MATLAB6P5\EXTERN\LIB\WIN32
C:\MATLAB6P5\EXTERN\LIB\WIN32\MICROSOFT\MSVC60
如下图所示
(2) VC++6.0工程设置
单击菜单Project,出现如下菜单
单击Setting…菜单项,出现Project Setting对话框,选择Link标签,在 Object/library modules: 下面的文本框内容的后面加入libmmfile.lib libmatlb.lib libmx.lib libmat.lib libmatpm.lib sgl.lib libmwsglm.lib libmwservices.lib,如下图所示
选择C/C++标签,在 Prerocessor definitions: 下面的文本框内容的后面加入 ,MSVC,IBMPC,MSWIND,如下图所示
设置完成。
6、Matlab到C++的代码转换
在上面的VC工程中
(1) 将前面sum_prod.m文件复制到该Test工程所在的目录下
(2) 单击Matlab Add-in 工具条最左边第一个按钮,出现如下对话框
选中Windows Console EXE 四个选择选中后二项,如上图所示,单击OK,出现如下对话框
选中Matlab函数文件sum_prod.m,单击“打开”按钮,这样在该工程所在的目录就生成了sum_prod.cpp和sum_prod.hpp文件。
(3) 打开sum_prod.cpp文件,注意到里面有这样一个函数
mwArray sum_prod(mwArray * prod, mwArray p1, mwArray p2)
{…}
可以看到在C++环境中,sum_prod也是一个函数,它的输入与输出数据类型是mwArray,它是VC6.0专门为Matlab中的矩阵对象定义的一个类。函数sum_prod有三个输入参数和一个输出参数。由于C++函数不能有一个以上的返回值,因此这里将Matlab函数sum_prod的第二个返回值,以地址型变量的形式作为C++函数sum_prod的第一个输入参数。
7、C++函数的使用
在上面VC工程Test.cpp文件中键入以下代码:
//********************************************************************
#include "matlab.hpp" // 包含类mwArray定义
#include "sum_prod.hpp" // 包含C++函数sum_prod
void main()
{
int i,j;
// 定义C++二维数组
double x[] = {1,2,3,4,5,6};
double y[] = {7,8,9,10,11,12};
double *sum,*prod;
// 初始化与C++数组相对应的mwArray变量
mwArray X(2,3,x);
mwArray Y(2,3,y);
mwArray SUM,PROD;
// 调用C++函数
SUM = sum_prod(&PROD,X,Y);
// 给输出数据分配内存
sum =(double*) calloc(6,sizeof(double));
prod =(double*) calloc(6,sizeof(double));
// 取出输出数据
sum = mxGetPr(SUM.GetData());
prod = mxGetPr(PROD.GetData());
// 输出显示
cout << "SUM = " << endl;
for (i=0;i<2;i++)
{
for (j=0;j<3;j++)
cout << sum[j*2+i] << "\t";
cout << endl;
}
cout << "PROD = " << endl;
for (i=0;i<2;i++)
{
for (j=0;j<3;j++)
cout << prod[j*2+i] << "\t";
cout << endl;
}
// 释放内存
free(sum);
free(prod);
}
//********************************************************************
编译链接程序,“忽略”编译过程中有关库文件msvcrt.lib的警告。
该C++程序运算结果如下图所示
特别说明一:
在C\C++环境中二维数组是“行向量”,如果将下面定义的变量x看成二维数组的话
double x[] = {1,2,3,4,5,6};
那么x应该是的矩阵,即
x = [1,2,3;
4,5,6];
但是,如果将数组首地址x初始化mwArray类时,数组x在mwArray中是按“列向量”的形式排列的,即
X = [1,3,5;
2,4,6];
同理,这里
Y = [7,9,11;
8,10,12];
因此才能得到上图的结果
特别说明二:
通过Matlab Add-in实现Matlab与VC++的混合编程也有不足,并不是所有的Matlab的函数都能转成C++函数,这一点在使用过程中要特别注意!
8、程序的发布
(1) 使用 VC 附带的 Depends 工具找到应用程序所需要的 dll 文件,手动复制这些文件添加到应用程序所在的目录即可。
(2) 编译好的程序只要附带 mglarchive.exe (在 C:\MATLAB6p5\extern\lib\win32 目录) 中的数学和图形库即可在没装 matlab 的机器上运行
总 结
从 以 上 的 讨 论 中 可 以 清 楚 的 看 到 , 使 用 Matlab 生 成 动 态 链 接 库 (*.DLL) 实 现 VC++ 和 Matlab 的 混 编 的 确 以 它 的 方 便 , 易 用 成 为 VC++和 Matlab 混 编 的 一 种 快 速 实 现 方 法 。 另 外 ,Matlab 的 Compiler 也 具 有 一 定 的 局 限 性 : 原 则 上 在 混 编 的 过 程 中 只 能 使 用 Matlab 数 学 库 中 的 函 数 和 图 形 库 中 的 部 分 函 数 ,mathworks 提 供 的 文 档 上 面 讲 到 ,Matlab 的 图 形 库 只 有 在 用 mcc 生 成 可 执 行 程 序 (*.exe) 时 才 能 引 用 。 在 VC++的 程 序 中 直 接 使 用 Matlab 图 形 库 中 的 函 数 ( 例 如 mlfPlot) 是 不 背 支 持 的 。 另 外 , 在 使 用 mcc 生 成 DLL 的 时 候 , Matlab 图 形 库 中 的 函 数 也 不 是 全 部 都 测 试 过 。还 有 对 于 一 些 工 具 箱 中 的 函 数 , 如 果 用 到 一 些 数 学 库 之 外 的 函 数 , 就 有 可 能 出 现 错 误 。 即 使 编 译 通 过 , 在 运 行 的 时 候 也 有 可 能 出 错 。 但 是 , 随 着 Matlab 的 不 断 升 级 , mathworks 推 出 了 Matlab COM Builder 创 建 COM 组 件 , 对 这 种 不 兼 容 性 有 了 一 定 的 改 进 , 使 得 Matlab 和 高 级 语 言 的 混 合 编 程 变 得 越 来 越 实 用 , 越 来 越 简 单 。
参 考 文 献 :
[1] Matlab Compiler
[2] Matlab COM Builder