我正在使用此代码捕捉来绘制流函数
[X,Y]= meshgrid(linspace(0,80),linspace(-8,8));
[t]=meshgrid(linspace(0,100));
B=1+0.3*cos(0.9*t);
k=2*phi/10;
low=.1+k.^2.*B.^2.*sin(k.*(X-0.9.*t)).^2;
PSI=-tanh((Y-B.*cos(k.*(X-0.9.*t)))./sqrt(low));
contour(X,Y,PSI,3);
colormap cool
我想要像图片一样的东西。我只得到当前的(罪形状线)而不是涡旋(矩形)。
答案 0 :(得分:3)
我尝试使用显示的参数生成绘图,但我没有设法获得" vortex"轮廓图中的形状。这是我的实施:
len = 200;
[X,Y] = meshgrid(linspace(0,80,len), linspace(-8,8,len));
t = meshgrid(linspace(0,1,len));
a = 1.2;
c = 0.12;
k = 2*pi/7.5;
w = 0.4;
e = 0.3;
B = a + e * cos(w*t);
D = k * (X - c*t);
PSI = - tanh((Y - B.*sin(D)) ./ sqrt(1 + (k * B.*cos(D)).^2)) + c*Y;
figure('Position',[100 100 650 300])
movegui('center')
subplot(211)
contour(X, Y, PSI, 10), ylim([-4.5 4.5])
%colormap cool
xlabel('kilometers'), ylabel('km'), title('Mobility Model')
subplot(212), axis off
text(0.5, 0.5, ...
{['$\psi(x,y,t) = -\tanh{[ \frac{y - B(t) \sin(k(x-ct))}' ...
'{\sqrt{1 + k^2 B^2(t) \cos^2(k(x-ct))}} ]} + cy$'];
'$where\, B(t) = A + \epsilon cos(\omega t)$'}, 'Interpreter','latex', ...
'FontSize',20, 'Horizontal','center', 'Vertical','middle')
<击> 这导致我相信您显示的屏幕截图与其下方的等式/参数不完全匹配...
事实上,如果我们查看3D中的曲面图,您会发现曲线中没有形状看起来像正弦曲线之间的那些三角形。它只是两个几乎平坦的飞机,两者之间有凹陷的下降。
击>
这是二维函数,显示为曲面图:
surf(X, Y, PSI, 'FaceColor','interp', 'EdgeColor','none')
daspect([20 6 1])
axis vis3d, axis tight
box on, grid on, view(140,30)
xlabel X, ylabel Y, zlabel PSI
lighting phong
camlight left