1 / 10
文档名称:

C语言环境中调用Matlab程序指南.pdf

格式:pdf   页数:10页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言环境中调用Matlab程序指南.pdf

上传人:drp539607 2015/9/21 文件大小:0 KB

下载得到文件列表

C语言环境中调用Matlab程序指南.pdf

文档介绍

文档介绍:C 语言环境中调用 Matlab 程序指南
甄梓宁
znzhen@

Matlab 在计算方面功能强大、编写简单,但是要运行 Matlab 程序必须装有 Matlab 并且用户
界面也不够完善,因此除了计算的其他部分采用 C 等更规范完备的语言进行编写是较好的选
择。本文就对如何在 C 程序中调用 Matlab 程序作说明。
在 C 程序中调用 Matlab 程序有两大类方法。第一种是调用 Matlab 引擎,第二种是将 m 文
件打包成 dll 文件在 C 语言环境下调用。前者虽然易于实现,可以实时监控程序的运行,但
是独立性差,需要安装完整版 Matlab,且每次调用都会启动 进程;后者则实现
复杂,调试麻烦,但只需安装 MCR(ponent Runtime),耗费资源较少。关于 MCR,
请见第四章的说明。至于两种方法需要在 C 环境中如何配置请见第五章。
而反过来若要在 Matlab 下调用 C 程序则一般使用 Matlab 自带的 mex 工具,在此不作介绍。

一、调用 Matlab 引擎
调用 Matlab 引擎可以在 WIN32、MFC 中使用,它的原理实际上相当于打开一个精简版
的 Matlab 然后往里面输命令。下面是调用 Matlab 中的加法程序 的例子。
先在 Matlab 的 work 目录下创建 文件并编写程序如下:
function s = add (a, b)
s = a+b;
在 C 程序中,首先打开精简版的 Matlab:(所需头文件,引用库等见第五章)
Engine *ep = engOpen (NULL);
编译运行后,会自动打开一个命令行监控窗口,输入 pwd 就可以看到当前的工作目录,
于是需要先将工作目录转换至存放 的目录:
engEvalString (ep, ”cd ..\\..\\work”);
engEvalString 是往 Matlab 里输命令的函数,显然我们的目标是成功运行:
engEvalString (ep, ”s=add(a,b)”);
当然,目前 Matlab 中并没有 a 和 b 两个变量,因此需要在 C 中初始化这两个变量并转
换成 Matlab 基本变量类型 mxArray,才能将它们输入到 Matlab 中。关于 mxArray,在
第三章会有详细说明。下面是对 a=1,b=2 的转换过程:
1
double aval=1, bval=2;
mxArray *a=mxCreateDoubleMatrix(1,1,mxREAL);
mxArray *b=mxCreateDoubleMatrix(1,1,mxREAL);
mxSetPr(a,&aval);
mxSetPr(b,&bval);
于是可以往 Matlab 里输入了:(双引号内是在 Matlab 里的变量名称)
engPutVariable(ep,"a",a);
engPutVariable(ep,"b",b);
运行 :
engEvalString (ep, ”s=add(a,b)”);

最近更新

购买酒店股份协议书(二零二五版) 8页

购买办公桌合同书二零二五年 9页

货运线路承包合同范例(二零二五版) 8页

货车司机雇佣协议合同书范例(二零二五版) 7页

货物运输服务补充协议(二零二五版) 9页

2025-2026学年辽宁省葫芦岛市高三(上)期末数学.. 27页

2025-2026学年第二学期电子商务基础复习指导 14页

财务咨询合同模板(二零二五版) 8页

诊所承包协议书二零二五年 9页

设计师聘用合同系列二零二五年 8页

设备保养维修服务协议二零二五年 9页

装修标准合同二零二五年-@-2 9页

装修承包劳务合同范例(二零二五版) 8页

装修工程协议合同书二零二五年 9页

装修合同空白合同(二零二五版) 9页

融资租赁担保合同(二零二五版)-@-1 6页

融资咨询服务合同范文二零二五年 8页

2025-2026学年人教版七年级上学期数学期末考试.. 6页

蔬菜大棚购销合同范文二零二五年 9页

2025-2026学年七年级政治上学期期末检测试题 .. 5页

药店工作合同药店聘用劳动合同(二零二五版) 8页

护士如何利用 DeepSeek 提升护理效能 7页

法学概论章节练习试题(考试版) 31页

涉煤企业从业人员题库(从业)(17) 31页

SHT3004-2011-石油化工采暖通风与空气调节设计.. 48页

最新市政燃气管道施工方案 41页

酸碱度的测定方法课件 31页

副局长2019年3月份高三一模考试分析会发言稿 2页

30kgh调温除湿机的设计【含CAD图纸+文档】 48页

森林抚育作业设计规定(2012年新版) 19页