问题描述
f(x,y,z)= 1 + 2xyz-x x-y y-z * z。我的兴趣范围是[-1,1]。
很明显,我无法构建人类可见的4D图,但是我可以在3D中绘制消失的点,或者用红色填充正的范围。
我几乎忘记了有关matlab和八度的所有内容,我搜索了示例并尝试:
[x y z] = meshgrid(-1:0.1:1,-1:0.1:1,-1:0.1:1);
coords = [x(:) y(:) z(:)];
V = 1.0 + 2*x.*y.*z -y.*y - z.*z - x.*x;
for p = 1: 1:100
if V(p) >=0
c = 'red';
scatter3(x(:,p),y(:,z(:,'c');
end
end
它会产生一个图,但它必须是虚假的,因为没有红点,并且1,1,1是一个解,它不会显示在图中。另外,z轴也弄乱了,只显示负值。
请帮助。
解决方法
尝试一下
[x y z] = meshgrid( -1 : 0.1 : 1,-1 : 0.1 : 1,-1 : 0.1 : 1 );
V = 1.0 + 2 * x .* y .* z - y .* y - z .* z - x .* x;
scatter3( x(:),y(:),z(:),100,V(:),'filled' );