3D矢量轮廓图

勒普

我正在尝试为z = 0的xy平面中的自定义函数返回的3D向量生成轮廓图。

我尝试了这个,但是我得到一个空图:

% Stand in for the real function I want to plot.
f = @(x, y, z) [x ^ 2, y ^ 2, x * y + z];

x = linspace(-5, 5, 50);
y = linspace(-5, 5, 50);
z = zeros(length(x), length(y), 3);

% I know this can be vectorized but the function I really want to graph can't
% be.
for i = 1:length(x)
    for j = 1:length(y)
        z(i, j, :) = f(x(i), y(j), 0);
    end
end

figure;
axis equal;
contour(x, y, z);
拉希德

您应该提及自己的轴心。您有x,y和的3个输出f

如果您将自己的3输出f视为要绘制的输出,则应使用,

contour(z(:,:,1),z(:,:,2),z(:,:,3));

这会给你这个,

在此处输入图片说明

我认为您正在寻找的是具有一个输出的函数,例如,

f = @(x, y,z) [x ^ 2 + y ^ 2 + x * y + z ];
x = linspace(-5, 5, 50);
y = linspace(-5, 5, 50);
z = zeros(length(x), length(y));
for i = 1:length(x)
    for j = 1:length(y)
       z(i, j) = f(x(i), y(j),0);
    end
end
contour(x,y,z,20);

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章