求举例如何用matlab绘制场流图!!想要的例子在附图中。

不要复制的套话,求直接上代码举例!!!多谢
2024-12-03 00:45:16
推荐回答(2个)
回答(1):

如何用matlab绘制场流图?根据题主提供的分段函数φ(x,y),我们可以来做(其中假设V0=10,x、y的取值范围为【-3~3】,a=1):

1、首先我们对x、y数据进行X-Y平面上X-Y平面上数据网格化

2、其二计算各条件下φ(x,y)的数值,相当于求X-Y平面上的高度值

3、其三分段计算φ(x,y)的数值

4、其四使用surfnorm函数,计算曲面图法线向量

5、最后使用streamline函数,绘制流线图

6、实现代码:

V0=10;a=1;

x = -3:0.1:3;y = -3:0.1:3;

[X,Y] = meshgrid(x,y);

phi1=-V0*exp(pi).*sin(pi*Y).*exp(pi*X./a);

phi2=V0./exp(pi).*sin(pi*Y).*exp(-pi*X./a);

phi3=V0./sinh(pi).*sin(pi*Y).*sinh(pi*X./a);

Phi = phi1.*(X<=-a)+phi2.*(X>-a & X=a);

[U,V,W]=surfnorm(X,Y,Phi);

h=streamline(X,Y,Phi,U,V,W); grid on

set(h,'Color','red');

view(2)

xlabel('x');ylabel('y');

运行结果

回答(2):

可以画不规则边界的流场图吗?如果数据很大的话,是不是对内存要求很高啊?我想做一个海湾的流场图。希望matlab方面的高手指点一下,这个图是我师兄用VB画的