利用matlab引擎画(x,y,z)坐标表示的点出现问题
void CCetDlg::OnButton3Ddisp(){
// TODO: Add your control notification handler code here
Engine *ep;
if (!(ep = engOpen(NULL))) //打开Matlab引擎
{
MessageBox ("Can't start MATLAB engine", MB_OK);
exit(-1);
}
mxArray *xx=mxCreateDoubleMatrix(1,6,mxREAL);
mxArray *yy=mxCreateDoubleMatrix(1,6,mxREAL);
mxArray *zz=mxCreateDoubleMatrix(1,6,mxREAL);
double x[] ={0,1,2,3,4,5}, y[] = {0,1,4,9,16,25}, z[] = {1,1,1,1,1,1};
engPutVariable(ep,"xx",xx);
engPutVariable(ep,"yy",yy);
engPutVariable(ep,"zz",zz);
memcpy(mxGetPr(xx),x,6*sizeof(double));
memcpy(mxGetPr(yy),y,6*sizeof(double));
memcpy(mxGetPr(zz),z,6*sizeof(double));
engEvalString(ep,"mesh(xx,yy,zz)");
engEvalString(ep,"xlabel('X(单位:千米)')");
engEvalString(ep,"ylabel('Y(单位:千米)')");
engEvalString(ep,"zlabel('Z(单位:千米)')");
}
回复 1 # sunminmin 的帖子
画不出这些点,这是为什么?
点的(x,y,z)坐标如下
(0,0,1)
(1,1,1)
(2,4,1)
(3,9,1)
(4,16,1)
(5,25,1) 画不出它表示的点 回复 2 # sunminmin 的帖子
画不出点什么意思,能详细描述下吗? 回复 3 # meiyongyuandeze 的帖子
就是在三维空间将这些坐标(x,y,z)所表示的点用黑点表示出来,前后两个点之间用直线连接,(0,0,1)连接(1,1,1)连接(2,4,1)连接(3,9,1)连接(4,16,1)连接(5,25,1),形成一条折线。 回复 4 # sunminmin 的帖子
路过也说说自己看法,:@) 混合编程是空白,静等高手路过!
页:
[1]