资源简介
MATLAB画矢量图,对整个矢量场进行插值,以箭头代表对应的方向,以颜色代表其大小。
代码片段和文件信息
function hh=streakarrow(X0Y0UVnparrow)
%H = STREAKARROW(XYUVnparrow) creates “curved“ vectors from
% 2D vector data U and V. All vectors have the same length. The
% magnitude of the vector is color coded.
% The arrays X and Y defines the coordinates for U and V.
% The variable np is a coefficient >0 changing the length of the vectors.
% np=1 corresponds to a whole meshgrid step. np>1 allows ovelaps like
% streamlines.
% The parameter arrow defines the type of plot:
% arrow=1 draws “curved“ vectors
% arrow=0 draws circle markers with streaks like “tuft“ in wind tunnel
% studies
% Example:
%load wind
%N=5; X0=x(::N); Y0=y(::N); U=u(::N); V=v(::N);
%H=streakarrow(X0Y0UV1.50); box on;
% Bertrand Dano 10-25-08
% Copyright 1984-2008 The MathWorks Inc.
DX=abs(X0(11)-X0(12)); DY=abs(Y0(11)-Y0(21)); DD=min([DX DY]);
ks=DD/100; % Size of the “dot“ for the tuft graphs
np=np*10;
alpha = 5; % Size of arrow head relative to the length of the vector
beta = .25; % Width of the base of the arrow head relative to the length
XY=stream2(X0Y0UVX0Y0);
%np=15;
Vmag=sqrt(U.^2+V.^2);
Vmin=min(Vmag(:)); Vmax=max(Vmag(:));
Vmag=Vmag(:); x0=X0(:); y0=Y0(:);
%ks=.1;
cmap=colormap;
for k=1:length(XY)
F=XY(k); [L M]=size(F{1});
if L F0{1}=F{1}(1:L:);
if L==1
F1{1}=F{1}(L:);
else
F1{1}=F{1}(L-1:L:);
end
else
F0{1}=F{1}(1:np:);
F1{1}=F{1}(np-1:np:);
end
P=F1{1};
vcol=floor((Vmag(k)-Vmin)./(Vmax-Vmin)*64); if vcol==0; vcol=1; end
COL=[cmap(vcol1) cmap(vcol2) cmap(vcol3)];
hh=streamline(F0);
set(hh‘color‘COL‘linewidth‘.5);
if arrow==1&L>1
x1=P(11); y1=P(12); x2=P(21); y2=P(22);
u=x1-x2; v=y1-y2; u=-u; v=-v;
xa1=x2+u-alpha*(u+beta*(v+eps)); xa2=x2+u-alpha*(u-beta*(v+eps));
ya1=y2+v-alpha*(v-beta*(u+eps)); ya2=y2+v-alpha*(v+beta*(u+eps));
plot([xa1 x2 xa2][ya1 y2 ya2]‘color‘COL); hold on
else
rectangle(‘position‘[x0(k)-ks/2 y0(k)-ks/2 ks ks]‘curvature‘[1 1]‘facecolor‘COL ‘edgecolor‘COL)
end
end
axis image
%colorbar vert
%h=colorbar;
%set(h‘ylim‘[Vmin Vmax])
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2397 2014-02-12 12:40 streakarrow.m
文件 737 2014-02-12 12:40 streakbar.m
文件 1313 2014-02-12 12:40 license.txt
- 上一篇:随机森林的matlab的预测Iris
- 下一篇:PDR算法MATLAB仿真
相关资源
- PDR算法MATLAB仿真
- 随机森林的matlab的预测Iris
- 选址matlab程序
- scaleForLSSVM函数 matlab
- matlab车牌识别系统53744
- 用MATLAB绘制史密斯圆图
- BP网络的MATLAB实现
- 图片分割MATlab代码 初学者
- 基于matlab的图像阈值分割算法
- JadeMatlab代码
- segymat地震matlab
- adams_car与Matlab联合仿真
- morlet小波变换时间频率能量图
- MATLAB桶形变换
- 时间序列划分PAAmatlab程序
- matlab通过腐蚀与膨胀提取图像物体边
- 自适应匹配追踪matlab程序
- 支持向量机SVMmatlab代码
- DPSK的MATLAB实现53470
- 投影寻踪优化模型Matlab源代码
- LEACH改进算法MATLAB实现
- K-means聚类算法初始聚类中心确定 ma
- 多种核函数的SVM分类器matlab程序
- 极限学习机ELM 算法及MATLAB程序实现
- 基于UIC513标准的乘坐舒适度算法MATL
- 人工智能蜂群算法ABCMATLAB版本带注释
- 基于MATLAB的GUI设计,密码输入
- matlab gui UDP通信
- 惯性导航扩展卡尔曼滤波MATLAB
- 模糊PID的MATLAB程序
评论
共有 条评论