【问题标题】:Graphing a multi variable function in MATLAB在 MATLAB 中绘制多变量函数
【发布时间】:2018-12-07 03:44:29
【问题描述】:

我以前从未使用过 MATLAB,所以我很迷茫。对于我的微积分课,我们的任务是找到某个函数,然后使用 MATLAB 绘制它。找到函数没有问题。然而,试图绘制它让我把头发拉出来。函数是 z(x,y)= xy(x+y)(2x+y)(3x+y)(x-2y)(x-3y)(x-4y)。非常感谢任何帮助或建议。

【问题讨论】:

  • 变量 x 和 y 的范围是多少?你可以看看surf函数。
  • 我正在尝试 surf 功能,但我的功能收到一条错误消息。它说,“错误:文件:M247.m 行:2 列:16 无效的表达式。检查是否缺少乘法运算符、缺少或不平衡的分隔符或其他语法错误。要构造矩阵,请使用括号而不是括号。”
  • 发布您的代码 (?!)

标签: matlab function graphing


【解决方案1】:

您可以定义一个anonymous function 句柄。

% define function
% .* denotes element wise multiplication
f = @(x,y) x.*y.*(x+y).*(2*x+y).*(3*x+y).*(x-2*y).*(x-3*y).*(x-4*y);

% define range and resolution for x and y
x = -20:0.5:20;
y = -20:0.5:20;

% create meshgrid for 3d plotting
[X, Y] = meshgrid(x,y);

% calculate z values (for meshgrid)
z = f(X, Y);

% plot the function
figure()
surf(x,y,z)

为了进一步解释,由于您要计算 x 和 y 对的 z 值,您应该使用元素乘法 .*。

然后您必须为 x 和 y 值创建一个 meshgrid,以便在两个新矩阵 X 和 Y 中包含所有可能的 x 和 y 对。将这些提供给您的函数将计算所有这些对的相应 z 值。您可以将它们用于绘图,例如冲浪。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多