Matlab 振动速度图

Matlab 振动速度图,matlab,plot,velocity,ode,Matlab,Plot,Velocity,Ode,我使用Matlab quiver绘制这些微分方程: dx=x*(1-x-y) dy=2*y*(1-0.5*y-3/2*x) 我正在使用以下代码: [x,y] = meshgrid(0:0.2:2,0:0.2:2); dx = x.*(1-x-y); dy = 2*y.*(1-0.5*y-3/2*x); figure quiver(x,y,dx,dy) 我明白了。我不明白为什么我会得到小箭头,即使x和y是稀疏的!!! 我期待着像这样的事情 我的问题是:有没有一种方法(如果不使用外部软件包的话

我使用Matlab quiver绘制这些微分方程:

  • dx=x*(1-x-y)
  • dy=2*y*(1-0.5*y-3/2*x)
我正在使用以下代码:

[x,y] = meshgrid(0:0.2:2,0:0.2:2);
dx = x.*(1-x-y);
dy = 2*y.*(1-0.5*y-3/2*x);
figure
quiver(x,y,dx,dy)
我明白了。我不明白为什么我会得到小箭头,即使x和y是稀疏的!!! 我期待着像这样的事情

我的问题是:有没有一种方法(如果不使用外部软件包的话)可以使箭头更大、更彩色


提前感谢:)。

多亏了Andras Deak,我们想出了这个解决方案:

[x,y] = meshgrid(0:0.2:2,0:0.2:2);
dx = x.*(1-x-y);
dy = 2*y.*(1-0.5*y-3/2*x);
% Normalization matrix
r = ( dx.^2 + dy.^2 ).^0.5;
figure
quiver(x,y,dx./r,dy./r)

如果你的一些向量比其他向量短,它们最终会变小。如果你只对震级感兴趣,你可以标准化dx,dy。是的,听起来不错。我使用的是r=(dx.^2+dy.^2)。^0.5;dx=dx./r;dy=dy./r;你怎么认为?它确实给出了很好的结果,但我仍然不明白这是什么类型的归一化?这是一种归一化,其中向量场被归一化为单位大小:)这意味着你对流的强度不感兴趣,只对它的方向感兴趣。在PDE的情况下,这可能是也可能不是你想要的。它还告诉你在相空间的不同部分流动有多强:如果你从一个给定的点开始,你的轨迹会在向量场较大的地方发展得更快(作为时间的函数)。但是,如果你对这一切看起来如何感兴趣,归一化可能就足够了。但是,在固定点,你会除以0,这又是一个问题。但是你链接的第二个图似乎就是这样做的:归一化相流矢量场。这可能有点作弊:这些鞍点肯定对应于
dx==0&dy==0
。无论如何,如果你的向量场绘制网格与固定点/线不重合,你可以使用标准化方法。好的,我现在明白了。谢谢我们可以在Matlab中使用未规范化的dx和dy为流指定颜色吗?。例如,弱流将被着色为蓝色阴影,强流将被着色为红色阴影。。。。