在C语言编程中,如何调用MATLAB的绘图功能?

已知一套C语言示例源代码,该程序运转后,将形成一个十进制的数据链,前后相连形成闭环的最短路径。请问如果以该C程序为基础,怎样调用MATLAB的绘图功能,才能使该程序同时生成相应的二维图、三维图?因为该C源程序的内容超过了《百度知道》篇幅所限,因此只能单独把该代码发给有能力解答该问题的网友。

一、调用Matlab引擎
调用Matlab引擎可以在WIN32、MFC中使用,它的原理实际上相当于打开一个精简版的Matlab然后往里面输命令。下面是调用Matlab中的加法程序add.m的例子。
先在Matlab的work目录下创建add.m文件并编写程序如下:
function s = add (a, b) s = a+b;在C程序中,首先打开精简版的Matlab
Engine *ep = engOpen (NULL);
编译运行后,会自动打开一个命令行监控窗口,输入pwd就可以看到当前的工作目录,于是需要先将工作目录转换至存放add.m的目录: engEvalString (ep, ”cd ..\\..\\work”);
engEvalString是往Matlab里输命令的函数,显然我们的目标是成功运行: engEvalString (ep, ”s=add(a,b)”);
目前Matlab中并没有a和b两个变量,因此需要在C中初始化这两个变量并转换成Matlab基本变量类型mxArray,才能将它们输入到Matlab中。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-06
你这样想没有错,但是你有没有考虑过相反的方向,就是使用matlab调用你写好的C程序就好了,这方面的教程很多,百度文库就有一片文章简单说明,况且,如果是单纯的C调用matlab的话,根本无法提供画图功能多需要的matlab环境。文章链接如下:
http://wenku.baidu.com/link?url=l_60mmRaJ7dlY4yuNrycWmR7fo8SAxeSdsz5mpWch8WclOlzeRfvA3-1ibb_k6tb7cAT14tdL4tLKZUvvRCertdzUVWcVncrnuLAsjuQ-M3本回答被提问者采纳

matlab调用c语言步骤以及传递图像数组时遇到的bug
1. **安装 C\/C++ 编译器**:在 MATLAB 的附加功能中,安装 MinGW-w64,这是调用 C 代码所必需的。2. **创建 C 文件**:编写一个 .c 文件,文件顶部应包含 `<#include ``#>`,这是与 MATLAB 交互的预定义头文件。3. **定义 C 函数**:在 C 文件中编写你的 C 语言函数。4. **...

如何使用C语言在matlab的simulink中进行算法仿真
从上面两图可以看出,已经设置完成,点击Build生成S-Function对应的C程序,包括;文件列表如下图所示;sfun_myc.c是软件自动生成的文件,源码相对较长,占较大篇幅,暂时不贴,主要分析其中几个主要的函数;在mdlOutputs函数会每过一个采样点(sample time)就被调用一次,在这里以及传入了我们之前定义好...

c语言调用图片
如果是1,那么你需要看.bmp的编码方式和C库的图像类函数 如果是2,那么你就可以用fopen,fread,fwrite,fprintf,fscanf等调用即可。

VC 如何调用 matlab的m文件
VC编程以实现对matlab函数的调用,例如VC中我们实现两个double型的相加,则需要做上述的编程:首先定义两个数组并存入我们要进行函数操作的数据(也就是所谓的实参);然后将这两个数组转换为matlab可以识别的矩阵;然后调用m文件中自定义的函数,对矩阵进行操作;最后将结果再转回VC支持的数据格式:double ...

matlab上的程序在C语言 上能运行吗
matlab上的程序在C语言上能运行。matlab是一种科学的计算语言,采用的是解释执行的方式,所有在C语言上能运行。有一个通俗的比喻, 如果程序设计语言是车,那么C 语言就是全能手, C十十语言是加强版的C 语言, MATLAB 是科学家用来完成特殊任务的工具。作为使用MATLAB 的科学家和工程师, 通过混合程序...

matlab中imagesc如何用C语言去实现
1.准备好C语言程序,清楚C语言的入口函数 2.编写mexfunction函数。mexfunction函数为C语言与MATLAB语言的接口函数。调用实例在mylinedetect.c文件中.在MATLAB中调用mex指令编译相关文件,将C语言编译为MEX文件。3.编译完成后,生成mylinedetect.mexw32或mylinedetect.mexw64文件,此文件即mex文件,用于...

c语言可以在matlab 上运行吗
matlab是一种科学的计算语言,采用的是解释执行的方式,在配置比较水的机器(比如说我的),运行起来速度不敢恭维,但是他适合工程师用,快速建立起自己的运算平台,很多语法是类似c语言。你可以考察一下matlab的安装目录下extern下面lib库中的函数,可以发现,有很多的c语言代码,实际上,其内核有很多c的...

哪位大侠知道vc和matlab混合编程
具体应用中,往往在VC中设计程序框架, VC的C语言或C++语言的程序作为前端客户机,它向Matlab引擎传递命令和数据信息,通过调用MATLAB引擎在后台与MATLAB服务器建立连接,实现动态通信。这种处理方法不要求链接整个Matlab,只需嵌入必要的Matlab引擎库,节省了大量的系统资源,使应用程序整体性能更好,处理效率更...

如何在matlab上运行c语言写的程序
1.准备好C语言程序,清楚C语言的入口函数 2.编写mexfunction函数。mexfunction函数为C语言与MATLAB语言的接口函数。调用实例在mylinedetect.c文件中.在MATLAB中调用mex指令编译相关文件,将C语言编译为MEX文件。3.编译完成后,生成mylinedetect.mexw32或mylinedetect.mexw64文件,此文件即mex文件,用于...

matlab和C语言编程是一回事吗?
(1)两者语言级别不同。Matlab是第4代语言,属于高级语言,C语言是第3代中级语言。(2)两者用处不同。Matlab是一种脚本语言,主要用于数学计算科学计算,是一种商业数学软件,是一种数值计算环境和编程语言,而C语言是一种面向过程程序设计语言,主要用于底层硬件或操作系统的程序设计,是一种通用的、...

相似回答