【发布时间】:2017-11-14 03:33:27
【问题描述】:
我有一个函数G(a,b),它接受两个输入并返回一个数字。该函数本身涉及使用 ode45 和某些矩阵的特征值,具体取决于 a 和 b 的值。我想看一个 3D 图(最好是 G 与 a 和 b 的 2D 热图,但我知道 MATLAB 可以扭曲轴和其他东西)。
我尝试了两种方法。第一个是嵌套的for循环
i=1
j=1
for a = 0:1:40 ;
for b = 0:.1:10 ;
Value(i,j) = G(a,b);
B(j)=b;
j=j+1 ;
end
A(i) = a;
i=i+1 ;
end
为什么我不喜欢这个:我最终得到三个向量/数组:AB 和 G。由于G 是二维的,我不能只做surf(A,B,G)。所以我的下一个想法是网格:
a = 0:1:40;
b = 0:.1:10;
[A,B] = meshgrid(a,b);
Value = G(A,B);
现在我的错误是可以理解的,我的函数需要数字 a,b 而不是数组。
所以我有点不知道如何最好地解决这个问题,任何建议都将不胜感激!
【问题讨论】: