作业帮 > 综合 > 作业

新手求问Matlab中streamline 及 contour函数的用法

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 13:28:19
新手求问Matlab中streamline 及 contour函数的用法
一组(x,y,u,x)流速数据,其中x和y为二维坐标,u和v为(x,y)处速度矢量的两个分量.用上面两个函数如何画出等速线?
新手求问Matlab中streamline 及 contour函数的用法
streamline是画流线图的吧
而等速线,应该用contour(x,y,sqrt(u.^2+v.^2))画
只考虑速度的大小相等,没有方向
再问: 运行后提示:

error using contour
Z must be size 2X2 or greater.
再答: 你的x,y,u,v都只是1维数组,不是矩阵
需要用griddata将数据插值为二维矩阵,才能用contour
这样要求你的x,y数据足够多,分布均匀一点
然后,知道x,y的大致范围,先用meshgrid产生一个范围内的规则网格
间隔也要选好,例如分为50x50
[xx yy]=meshgrid(linspace(min(x),max(x),50),linspace(min(y),max(y),50));
uu=griddata(x,y,u,xx,yy);
vv=griddata(x,y,v,xx,yy);
这样得到xx,yy,uu,vv四个矩阵之后,再用

contour(xx,yy,sqrt(uu.^2+vv.^2))画等速线