求助quiver出流速矢量图
hold onquiver(x,y,u,v);
hold off
在盐度等值线图上添加流速矢量,只u方向有值,v为全为0
x,y,u,v 都为10*6的矩阵
盐度等值线图正确,说明x,y矩阵没有问题
但是流速矢量就是不行
举例,u矩阵的值如下
u =
-0.3366 -0.6811 -0.4313 -0.2871 0.0152 -0.4554
-0.3400 -0.6880 -0.4357 -0.2900 0.0154 -0.4600
-0.6028 -0.7200 -0.5419 -0.4700 -0.0172 -0.4600
-0.6400 -0.7933 -0.6890 -0.6117 -0.3115 -0.4989
-0.4911 -0.6666 -0.6962 -0.6113 -0.4368 -0.5035
-0.3744 -0.4810 -0.6155 -0.4985 -0.7200 -0.5819
-0.2878 -0.2856 -0.4447 -0.4858 -0.8600 -0.5744
-0.2311 -0.2730 -0.2839 -0.2925 -0.6272 -0.4679
-0.1911 -0.2343 -0.1600 -0.1477 -0.4036 -0.4156
-0.1930 -0.2366 -0.1616 -0.1492 -0.4076 -0.4197
v =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 照道理,没有盐度的地方也应该没有流速的
反正就是没有办法画出正确的矢量
[ 本帖最后由 ChaChing 于 2010-4-1 00:11 编辑 ] x y经过meshgrid了么?
x y 与u v是大小相同的矩阵
回复 板凳 curb 的帖子
是相同的矩阵可能问题出在矢量箭头过大,就是—>,箭头>太大了,可有高手知道如何对箭头进行设定嘛,如何表述呢?quiver(x,y, u,v, '....') quiver(...,scale) ?
回复 5楼 ChaChing 的帖子
我试过 scale为 0 ,还好出了一小点横线,为0.5,1,2 ,2.5 就是上图看到的效果所以说 scale 无法 显示正确的图 水平有限, 没给齐数据/代码/图, 很难清楚LZ说的:@)
可以想法简化给齐些吗?:handshake load u.dat
v=zeros(size(u));
x=1:6; % 站位,不清楚你的数据,随便写的
y=1:2:20; %水深度
=meshgrid(x,y);
h=quiver(x1,y1,u,v,0.2);
axis ij
set(h,'ShowArrowHead', 'off') %取消箭头
set(gca,'xgrid','on')我之前做过类似的水平流场,当时的问题是流速变化过大,
你的似乎也有这个问题,第5个站位,比其他的小一个量级
这样箭头很难做出来,我最后把箭头取消了
看你的图,感觉xy坐标设置有问题
你先单独画流场试试,不要跟盐度叠加
另外,根据你的数据,不可能出现没有盐度的地方没有流速这种情况
每一层都有流速,除非你的流场数据在深度上并非等深坐标,而是相对坐标
那样就要换算到正常坐标,在无盐度位置无流场值才可以
[ 本帖最后由 curb 于 2010-4-1 10:01 编辑 ]
回复 8楼 curb 的帖子
多谢curb!“看你的图,感觉xy坐标设置有问题” 对的
把x/100(缩小100倍)能画出矢量图了
原来的x的范围(0 40000),y的范围(-20 2)
出图的问题是解决了
但如何解释这个现象呢
出矢量的比例跟x,y的值有关,xy比例失调后,导致矢量成图有问题? x 范围我设1:6,quiver的scale就设了0.2
如果是0:40000的话,quiverd scale设大一点试试
页:
[1]