【问题标题】:Plotting a 3D Function绘制 3D 函数
【发布时间】:2014-02-04 09:36:50
【问题描述】:

我正在尝试绘制以下函数: F(x,y)=Cos(x)*Sin(y) 具有以下特点: 标记所有三个轴,x 和 y 轴范围从 0 到 2pi,间距为 0.1,并且视角与任何 x/y/z=0 平面正交。

我有以下代码

t= 0:0.1:2*pi;
A=cos(t);
B=sin(t);
for i=1:numel(t)
C(:,i)=A(i).*B(:);
end
surf(C);
xlabel('x axis','fontsize',12)
ylabel('y axis','fontsize',12)
zlabel('z axis','fontsize',12)
title ('3D Plot')

这几乎是我需要的,由于某种原因,图表将 x 和 y 从 0 绘制到 80,我不知道为什么。我还有另一种方法可以尝试绘制它,以便我可以为余弦和正弦输入使用不同的变量?:

【问题讨论】:

  • 您可以使用 C = B' * A; 向量化 for 循环。只要用这个sn-p替换从forend的整个循环,结果是一样的。

标签: matlab plot


【解决方案1】:

我想你想做

surf(t,t,C)

而不仅仅是 surf(C)。现在它的范围从 0 到 2pi。如果您希望它们具有特定值,则需要定义 x 和 y 值。

您可能也想使用它来删除轴的不必要部分。

axis tight

【讨论】:

    猜你喜欢
    • 2022-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    相关资源
    最近更新 更多