在C语言编程中,如何调用MATLAB的绘图功能?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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中。 参考技术A 你这样想没有错,但是你有没有考虑过相反的方向,就是使用matlab调用你写好的C程序就好了,这方面的教程很多,百度文库就有一片文章简单说明,况且,如果是单纯的C调用matlab的话,根本无法提供画图功能多需要的matlab环境。文章链接如下:
http://wenku.baidu.com/link?url=l_60mmRaJ7dlY4yuNrycWmR7fo8SAxeSdsz5mpWch8WclOlzeRfvA3-1ibb_k6tb7cAT14tdL4tLKZUvvRCertdzUVWcVncrnuLAsjuQ-M3本回答被提问者采纳
matplotlib绘图入门详解
参考技术Amatplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。
matplotlib有一套完全仿照MATLAB的函数形式的绘图接口,在matplotlib.pyplot模块中。这套函数接口方便MATLAB用户过度到matplotlib包
官网: http://matplotlib.org/
学习方式:从官网examples入门学习
Figure:面板(图),matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。
Subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像。
axex: 设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示
figure: 控制dpi、边界颜色、图形大小、和子区( subplot)设置
font: 字体集(font family)、字体大小和样式设置
grid: 设置网格颜色和线性
legend: 设置图例和其中的文本的显示
line: 设置线条(颜色、线型、宽度等)和标记
patch: 是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。
savefig: 可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色。
verbose: 设置matplotlib在执行期间信息输出,如silent、helpful、debug和debug-annoying。
xticks和yticks: 为x,y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。
如果这两种颜色不够用,还可以通过两种其他方式来定义颜色值:
1、使用HTML十六进制字符串 color=’#123456’ 使用合法的HTML颜色名字(’red’,’chartreuse’等)。
2、也可以传入一个归一化到[0,1]的RGB元祖。 color=(0.3,0.3,0.4)
通过向如matplotlib.pyplot.axes()或者matplotlib.pyplot.subplot()这样的方法提供一个axisbg参数,可以指定坐标这的背景色。
subplot(111,axisbg=(0.1843,0.3098,0.3098))
以下示例需要引入的库包括
plot时可以设置的属性包括如下:
一个窗口多个图
属性设置同点图、线图中。
属性设置同点图、线图中。
原文:
https://blog.csdn.net/luanpeng825485697/article/details/78508819
最后,给大家分享我收藏的几个不错的 github 项目,内容都还是不错的,如果觉得有帮助,可以顺便给个 star。
以上是关于在C语言编程中,如何调用MATLAB的绘图功能?的主要内容,如果未能解决你的问题,请参考以下文章