astrider
2011-12-01, 16:21
使用面片建立20个柱体,高度随机产生,M文件如下:
Z=rand(20)
figure
for i=1:4
for j=1:5
val=z[i*4+j];
vert=[i-0.5 j-0.5 0
i-0.5 j+0.5 0
i+0.5 j+0.5 0
i+0.5 j-0.5 0
i-0.5 j-0.5 val
i-0.5 j+0.5 val
i+0.5 j+0.5 val
i+0.5 j-0.5 val];
fac=[1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8];
h=patch(‘faces’,fac,’vertices’,vert,’FaceColor’,’r’);
end
end
grid on
view(3)
在Matlab中运行良好无误,我将这段代码加入到VC中,每一个语句前面加上
engEvalString,却不能显示,即:
engEvalString(m_ep,"Z=rand(20)");
engEvalString(m_ep,"figure");
engEvalString(m_ep,"for i=1:4");
engEvalString(m_ep,"for j=1:5");
engEvalString(m_ep,"val=z[i*4+j];");
engEvalString(m_ep,"vert=[i-0.5 j-0.5 0");
engEvalString(m_ep,"i-0.5 j+0.5 0");
engEvalString(m_ep,"i+0.5 j+0.5 0");
engEvalString(m_ep,"i+0.5 j-0.5 0");
engEvalString(m_ep,"i-0.5 j-0.5 val");
engEvalString(m_ep,"i-0.5 j+0.5 val");
engEvalString(m_ep,"i+0.5 j+0.5 val");
engEvalString(m_ep,"i+0.5 j-0.5 val];");
engEvalString(m_ep,"fac=[1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6
7 8];");
engEvalString(m_ep,"h=patch(‘faces’,fac,’vertices’,vert,’
FaceColor’,’r’);");
engEvalString(m_ep,"end");
engEvalString(m_ep,"end");
engEvalString(m_ep,"grid on");
engEvalString(m_ep,"view(3)");
其中的m_ep是我初始化的Matlab引擎。
哪位大侠知道为什么啊??急救!
Z=rand(20)
figure
for i=1:4
for j=1:5
val=z[i*4+j];
vert=[i-0.5 j-0.5 0
i-0.5 j+0.5 0
i+0.5 j+0.5 0
i+0.5 j-0.5 0
i-0.5 j-0.5 val
i-0.5 j+0.5 val
i+0.5 j+0.5 val
i+0.5 j-0.5 val];
fac=[1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8];
h=patch(‘faces’,fac,’vertices’,vert,’FaceColor’,’r’);
end
end
grid on
view(3)
在Matlab中运行良好无误,我将这段代码加入到VC中,每一个语句前面加上
engEvalString,却不能显示,即:
engEvalString(m_ep,"Z=rand(20)");
engEvalString(m_ep,"figure");
engEvalString(m_ep,"for i=1:4");
engEvalString(m_ep,"for j=1:5");
engEvalString(m_ep,"val=z[i*4+j];");
engEvalString(m_ep,"vert=[i-0.5 j-0.5 0");
engEvalString(m_ep,"i-0.5 j+0.5 0");
engEvalString(m_ep,"i+0.5 j+0.5 0");
engEvalString(m_ep,"i+0.5 j-0.5 0");
engEvalString(m_ep,"i-0.5 j-0.5 val");
engEvalString(m_ep,"i-0.5 j+0.5 val");
engEvalString(m_ep,"i+0.5 j+0.5 val");
engEvalString(m_ep,"i+0.5 j-0.5 val];");
engEvalString(m_ep,"fac=[1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6
7 8];");
engEvalString(m_ep,"h=patch(‘faces’,fac,’vertices’,vert,’
FaceColor’,’r’);");
engEvalString(m_ep,"end");
engEvalString(m_ep,"end");
engEvalString(m_ep,"grid on");
engEvalString(m_ep,"view(3)");
其中的m_ep是我初始化的Matlab引擎。
哪位大侠知道为什么啊??急救!