关于matlab画矢量图的问题

先看看我写的程序:load('data.mat')M=326;N=197;y=data(:,1);dir=data(:,2);forn=1:1:N+1;form=1:1:... 先看看我写的程序:

load('data.mat')
M=326;
N=197;
y=data(:,1);
dir=data(:,2);
for n=1:1:N+1;
for m=1:1:M+1;
H(n,m)=y((M+1)*(n-1)+m);
if H(n,m)==-9
H(n,m)=0;
end
DEGREE(n,m)=dir((M+1)*(n-1)+m);
HX(n,m)=H(n,m)*cos(pi*(DEGREE(n,m))/180);
HY(n,m)=H(n,m)*sin(pi*(DEGREE(n,m))/180);
end
end

xmax =114.823;
xmin = 114.497;

ymax = 22.839399615301;
ymin = 22.642323829592;
%
width=xmin:(xmax-xmin)/M:xmax;
depth=ymin:(ymax-ymin)/N:ymax;

[xx,yy]=meshgrid(width,depth);
quiver(xx,yy,HX,HY) ;
axis([xmin xmax ymin ymax ])
xlabel('经度')
ylabel('纬度')
title('波向图')

其中data.mat是在原始数据基础上计算后所得64746*5的矩阵,第一列是大小,第二列是方向度数值。

M=326是对目标区域划分的横向网格数,N是纵向网格数。

现在的问题是由于网格太多,画出来的矢量图很密,根本看不清箭头。
有没有哪位高手能不能帮我解决一下,看能不能在原有程序上修改一下,或者重新写程序,将网格量变

少一些,如变成原来的一半或四分之一,最重要是能看清箭头指向。非常感谢!
展开
 我来答
wacs5
2009-08-18 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2753万
展开全部
你可以将你的精细的数据插值到比较粗的网格上面,再作图.

[xx,yy]=meshgrid(width,depth);
quiver(xx,yy,HX,HY) ;
改成:
[xx,yy]=meshgrid(width,depth);

[xx1,yy1]=meshgrid(xmin:(xmax-xmin)/M*5:xmax,depth=ymin:(ymax-ymin)/N*5:ymax;); %粗网格,这里步长被我乘5了,你自己调

HX1=griddata(xx,yy,HX,xx1,yy1);%插值
HY1=griddata(xx,yy,HY,xx1,yy1);%插值

quiver(xx1,yy1,HX1,HY1) ;

[XI,YI,ZI] = GRIDDATA(X,Y,Z,XI,YI)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式