大虾帮我看看matlab引擎调用,figure显示了为什么plot没有显示出来?

hillmail 2011-06-16 11:11:04
代码如下:

Engine *ep;

if(!(ep=engOpen("\0")))
{
//MessageBox("Matlab引擎启动失败!","falure");
cout<<"fail"<<endl;
}

engSetVisible(ep,0); //隐藏Matlab窗口

int a=5;
int b=6;
engEvalString(ep,"fh=figure('Position',[300 400 400 300],'Color','w');");
engEvalString(ep,"plot(a,test_add(a,b)");
engClose(ep);
return 0;

我觉得不要figure那句,在matlab里面,plot都会显示出来的,为什么c++调用的时候figure显示了,但是没有plot,就算不要figure那句话,plot也应该显示出来啊!
...全文
367 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wq460113756 2011-06-17
  • 打赏
  • 举报
回复
好吧 我感觉好像是基于体元的MC算法用于三维重建 谢啦 呵呵
hillmail 2011-06-17
  • 打赏
  • 举报
回复
engEvalString(ep,"plot(a,test_add(a,b)");

plot(a,test_add(a,b)

matlab里面的命令行错了 就这简单

大家用的时候如果没报错,就想想是不是matlab命令行错了 c++不会报错的

然后谢谢大家的回复,结贴!
hillmail 2011-06-17
  • 打赏
  • 举报
回复
什么局限性?
hillmail 2011-06-17
  • 打赏
  • 举报
回复
不明白,我理解的那个函数的意思就是很简单的基于边缘的三维重建,然后边缘的三角片就是很简单的按顺序连接的,没什么很高深的算法
wq460113756 2011-06-17
  • 打赏
  • 举报
回复
你好 我前段时间看到你研究过isosurface函数,他所应用的原理和算法 你明白了吗 谢谢
呔妖怪来嘛 2011-06-16
  • 打赏
  • 举报
回复
test_add(a,b) 这个是什么 ,引号里边的好像只能是命令 不能是VC里德函数
呔妖怪来嘛 2011-06-16
  • 打赏
  • 举报
回复
engEvalString(ep,"plot(a,test_add(a,b)"); 加分号试试
呔妖怪来嘛 2011-06-16
  • 打赏
  • 举报
回复
你直接显示几个点试试,可能是m文件找不到
呔妖怪来嘛 2011-06-16
  • 打赏
  • 举报
回复
直接调用引擎会有局限性
hillmail 2011-06-16
  • 打赏
  • 举报
回复
我是想用vc调用matlab 的m文件 引擎调用方式 不知道可以不可以
kyotrue 2011-06-16
  • 打赏
  • 举报
回复
matlab,一般是学校用吧。。。
hillmail 2011-06-16
  • 打赏
  • 举报
回复
还是显示不出来
hillmail 2011-06-16
  • 打赏
  • 举报
回复
engEvalString(ep,"a=5);");
engEvalString(ep,"b=6);");
engEvalString(ep,"fh=figure('Position',[300 400 400 300],'Color','w');");
engEvalString(ep,"plot(a,test_add(a,b);");
test_add(a,b)是我用来测试的一个m文件

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧