问题:
对如下数据,做出截面图,并按相应的颜色值设置数据;
x y z s
1 2 2 25
1 3 3 21
1 4 4 20
2 5 5 19
2 6 7 31
这样一组s与x,y,z没有直接函数表达式关系的数据希望能够用slice函数绘出切面图,也就是说,在x=1这个切面上,应该有对应s=25 21 20这三种用颜色表示的函数值。
首先,看到slice命令的帮助文件中有个例子:
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
v = x.*exp(-x.^2-y.^2-z.^2);
xslice = [-1.2,.8,2]; yslice = 2; zslice = [-2,0];
slice(x,y,z,v,xslice,yslice,zslice)
colormap hsv
这里的slice前三个参数,必须构成网格数据,如图:
通过:
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
figure;
view(3);
hold on;
for i = 1 : size(x, 1)
for j = 1 : size(x, 2)
for k = 1 : size(x, 3)
plot3(x(i, j, k), y(i, j, k)