【发布时间】:2013-12-11 23:06:06
【问题描述】:
我正在尝试制作一个包含三个变量的任意函数:X、Y 和 T,它们的长度相同,均为 201。
我跑
[X,Y,T] = meshgrid(-10:0.1:10, -10:0.1:10, 0:0.5:100);
FF = @(x,y,t) exp( -(x - 0.5).^2 - (y - 0.5).^2 ) / 0.1^2 .* sin(pi * t);
surf(FF(X,Y,T))
我明白了
错误使用 * 输入必须是二维的,或者至少一个输入必须是 标量。要按元素计算 TIMES,请改用 TIMES (.*)。
@(x,y,t)exp(-(x-0.5).^2-(y-0.5).^2)/0.1^2*sin(pi*t) 中的错误
我知道这行得通
[X,Y] = meshgrid(-10:0.1:10, -10:0.1:10);
FF = @(x,y) exp( -(x - 0.5).^2 - (y - 0.5).^2 ) / 0.1^2;
surf(FF(X,Y))
创建高斯钟形曲线。 我想为这条曲线添加时间依赖性,但不成功。
如何制作三个变量的任意函数并在 Matlab 中冲浪?
【问题讨论】:
-
如果你得到 sin(pi*T) 矩阵是 201x201x201。 @(x,y) 的结果是 201x201,所以矩阵维度不相等。
-
并确保您复制正确的内容,因为在您的函数中您执行
.* sin(pi*t)并在您的错误中仅执行* -
你想在四个维度上绘图??
-
@LuisMendo 我想制作 2D 视频,其中 T 是时间,X 和 Y 物理坐标。
-
@LuisMendo 我认为这不是电影。我可能误解了meshgrid的意义。我认为时间应该在meshgrid之外,所以时间分开T = 0:0.5:100。然后,只需在循环中运行 surf 命令作为时间的函数,t。所以这边视频。