matlab中besselj,用c++函数调用matlab绘制besselj曲线

matlab eigen学习中。可以直接通过engEvalString发送命令,由matlab自己创建数据,自己做图。c++只是唤醒作用。

代码:

/*

* example3.cpp

*

* This is an example showing standard markers available in MATLAB® plots.

* http://www.mathworks.com/matlabcentral/fileexchange/35231-matlab-plot-gallery-standard-plot-markers/content/html/Standard_Plot_Markers.html

*/

#include

#include

#include "engine.h"

int main() {

Engine *ep; //定义Matlab引擎指针。

if (!(ep=engOpen("\0"))) //测试是否启动Matlab引擎成功。

{

std::cout<< "Can't start MATLAB engine"<<:endl>

return EXIT_FAILURE;

}

// 向matlab发送命令。在matlab内部自己去产生即将绘制的曲线上的数据。

// Generate some data using the besselj function

engEvalString(ep, "x = 0:0.2:10;y0 = besselj(0,x);y1 = besselj(1,x);y2 = besselj(2,x);y3 = besselj(3,x);y4 = besselj(4,x);y5 = besselj(5,x);y6 = besselj(6,x);");

// Plot the points from the Bessel functions using standard marker types figure

engEvalString(ep, "plot(x, y0, 'r+', x, y1, 'go', x, y2, 'b*', x, y3, 'cx', x, y4, 'ms', x, y5, 'yd', x, y6, 'kv');");

//Use cin.get() to make sure that we pause long enough to be able to see the plot.

std::cout<

std::cin.get();

return EXIT_SUCCESS;

}

编译,运行:

g++ example3.cpp -o example3 -leng -lmx

./example3

Hit any key to exit!

运行结果:

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值