声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2861|回复: 5

[混合编程] 利用matlab引擎画(x,y,z)坐标表示的点出现问题

[复制链接]
发表于 2011-5-8 14:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  1. void CCetDlg::OnButton3Ddisp()
  2. {
  3. // TODO: Add your control notification handler code here
  4. Engine *ep;

  5. if (!(ep = engOpen(NULL))) //打开Matlab引擎

  6. {

  7. MessageBox ("Can't start MATLAB engine", MB_OK);

  8. exit(-1);
  9. }
  10. mxArray *xx=mxCreateDoubleMatrix(1,6,mxREAL);
  11. mxArray *yy=mxCreateDoubleMatrix(1,6,mxREAL);
  12. mxArray *zz=mxCreateDoubleMatrix(1,6,mxREAL);

  13. double x[] ={0,1,2,3,4,5}, y[] = {0,1,4,9,16,25}, z[] = {1,1,1,1,1,1};

  14. engPutVariable(ep,"xx",xx);
  15. engPutVariable(ep,"yy",yy);
  16. engPutVariable(ep,"zz",zz);

  17. memcpy(mxGetPr(xx),x,6*sizeof(double));
  18. memcpy(mxGetPr(yy),y,6*sizeof(double));
  19. memcpy(mxGetPr(zz),z,6*sizeof(double));

  20. engEvalString(ep,"mesh(xx,yy,zz)");

  21. engEvalString(ep,"xlabel('X(单位:千米)')");
  22. engEvalString(ep,"ylabel('Y(单位:千米)')");
  23. engEvalString(ep,"zlabel('Z(单位:千米)')");

  24. }
复制代码


回复
分享到:

使用道具 举报

 楼主| 发表于 2011-5-8 14:10 | 显示全部楼层
回复 1 # sunminmin 的帖子

画不出这些点,这是为什么?  
点的(x,y,z)坐标如下
(0,0,1)
(1,1,1)
(2,4,1)
(3,9,1)
(4,16,1)
(5,25,1) 画不出它表示的点
发表于 2011-5-8 21:01 | 显示全部楼层
回复 2 # sunminmin 的帖子

画不出点什么意思,能详细描述下吗?
 楼主| 发表于 2011-5-8 21:33 | 显示全部楼层
回复 3 # meiyongyuandeze 的帖子

就是在三维空间将这些坐标(x,y,z)所表示的点用黑点表示出来,前后两个点之间用直线连接,(0,0,1)连接(1,1,1)连接(2,4,1)连接(3,9,1)连接(4,16,1)连接(5,25,1),形成一条折线。
 楼主| 发表于 2011-5-9 10:19 | 显示全部楼层
回复 4 # sunminmin 的帖子

路过也说说自己看法,:@)
发表于 2011-5-9 22:27 | 显示全部楼层
混合编程是空白,静等高手路过!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 12:57 , Processed in 0.078375 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表