声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4636|回复: 9

[编程技巧] 求助quiver出流速矢量图

[复制链接]
发表于 2010-3-31 15:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
hold on
  quiver(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
回复
分享到:

使用道具 举报

 楼主| 发表于 2010-3-31 16:20 | 显示全部楼层
照道理,没有盐度的地方也应该没有流速的
反正就是没有办法画出正确的矢量

[ 本帖最后由 ChaChing 于 2010-4-1 00:11 编辑 ]

不对劲的图

不对劲的图
发表于 2010-3-31 19:43 | 显示全部楼层
x y经过meshgrid了么?
x y 与u v是大小相同的矩阵

评分

1

查看全部评分

 楼主| 发表于 2010-3-31 23:14 | 显示全部楼层

回复 板凳 curb 的帖子

是相同的矩阵

可能问题出在矢量箭头过大,就是—>,箭头>太大了,可有高手知道如何对箭头进行设定嘛,如何表述呢?quiver(x,y, u,v, '....')
发表于 2010-4-1 00:15 | 显示全部楼层
quiver(...,scale) ?
 楼主| 发表于 2010-4-1 08:41 | 显示全部楼层

回复 5楼 ChaChing 的帖子

我试过 scale为 0 ,还好出了一小点横线,为0.5  ,1,2 ,2.5 就是上图看到的效果

所以说 scale 无法 显示正确的图
发表于 2010-4-1 09:17 | 显示全部楼层
水平有限, 没给齐数据/代码/图, 很难清楚LZ说的:@)
可以想法简化给齐些吗?:handshake
发表于 2010-4-1 09:49 | 显示全部楼层
  1. load u.dat
  2. v=zeros(size(u));
  3. x=1:6; % 站位,不清楚你的数据,随便写的
  4. y=1:2:20; %水深度
  5. [x1,y1]=meshgrid(x,y);
  6. h=quiver(x1,y1,u,v,0.2);
  7. axis ij
  8. set(h,'ShowArrowHead', 'off') %取消箭头
  9. set(gca,'xgrid','on')
复制代码
我之前做过类似的水平流场,当时的问题是流速变化过大,
你的似乎也有这个问题,第5个站位,比其他的小一个量级
这样箭头很难做出来,我最后把箭头取消了

看你的图,感觉xy坐标设置有问题
你先单独画流场试试,不要跟盐度叠加

另外,根据你的数据,不可能出现没有盐度的地方没有流速这种情况
每一层都有流速,除非你的流场数据在深度上并非等深坐标,而是相对坐标
那样就要换算到正常坐标,在无盐度位置无流场值才可以

[ 本帖最后由 curb 于 2010-4-1 10:01 编辑 ]
quiver with arrowhead.png
quiver without arrowhead.png

评分

1

查看全部评分

 楼主| 发表于 2010-4-2 08:34 | 显示全部楼层

回复 8楼 curb 的帖子

多谢curb!

“看你的图,感觉xy坐标设置有问题” 对的
把x/100(缩小100倍)能画出矢量图了
原来的x的范围(0 40000),y的范围(-20 2)
出图的问题是解决了

但如何解释这个现象呢
出矢量的比例跟x,y的值有关,xy比例失调后,导致矢量成图有问题?

评分

1

查看全部评分

发表于 2010-4-2 09:02 | 显示全部楼层
x 范围我设1:6,quiver的scale就设了0.2
如果是0:40000的话,quiverd scale设大一点试试
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 16:09 , Processed in 0.076565 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表