精华内容
下载资源
问答
  • Matlab 绘制矢量

    万次阅读 2009-07-28 11:53:00
    经常会用到matlab计算矢量图,我们希望可以直观的... matlab提供了矢量绘制函数:quiver()matlab help给出了说明: QUIVER Quiver plot. QUIVER(X,Y,U,V) plots velocity vectors as arrows with components (u,v)

    经常会用到matlab计算矢量图,我们希望可以直观的表示出来,通过观察来对比。

    因此,希望可以绘制出矢量图。

     

    matlab提供了矢量图绘制函数:quiver()

    matlab help给出了说明:

     QUIVER Quiver plot.
        QUIVER(X,Y,U,V) plots velocity vectors as arrows with components (u,v)
        at the points (x,y).  The matrices X,Y,U,V must all be the same size
        and contain corresponding position and velocity components (X and Y
        can also be vectors to specify a uniform grid).  QUIVER automatically
        scales the arrows to fit within the grid.
     
        QUIVER(U,V) plots velocity vectors at equally spaced points in
        the x-y plane.
     
        QUIVER(U,V,S) or QUIVER(X,Y,U,V,S) automatically scales the
        arrows to fit within the grid and then stretches them by S.  Use
        S=0 to plot the arrows without the automatic scaling.
     
        QUIVER(...,LINESPEC) uses the plot linestyle specified for
        the velocity vectors.  Any marker in LINESPEC is drawn at the base
        instead of an arrow on the tip.  Use a marker of '.' to specify
        no marker at all.  See PLOT for other possibilities.
     
        QUIVER(...,'filled') fills any markers specified.
     
        QUIVER(AX,...) plots into AX instead of GCA.
     
        H = QUIVER(...) returns a quivergroup handle.
     
        Backwards compatibility
        QUIVER('v6',...) creates line objects instead of a quivergroup
        object for compatibility with MATLAB 6.5 and earlier.
      
        Example:
           [x,y] = meshgrid(-2:.2:2,-1:.15:1);
           z = x .* exp(-x.^2 - y.^2); [px,py] = gradient(z,.2,.15);
           contour(x,y,z), hold on
           quiver(x,y,px,py), hold off, axis image

     

    例如要绘制[zx,zy]

    zx 为x方向矢量

    zy 为y方向矢量

    (minx, maxx)为x方向取值区间

    (miny, maxy)为y方向取值区间

     

    [xx,yy]=meshgrid(minx:maxx, miny:maxy);
    quiver(xx,yy,zx,zy)

     

    展开全文
  • MATLAB绘制矢量场图

    千次阅读 2020-07-23 20:58:15
    MATLAB绘制矢量场图的函数是quiver,利用help命令查看该函数的解释。 一般来说,输入参数可以是四个(x,y,u,v),也可以是两个参数(u,v),要求是这些参数都大小相同的矩阵。 注意:在输入参数只有两个(u,v),...

    Step 1 

    在MATLAB中绘制矢量场图的函数是quiver,利用help命令查看该函数的解释。 

    一般来说,输入参数可以是四个(x,y,u,v),也可以是两个参数(u,v),要求是这些参数都大小相同的矩阵

    注意:在输入参数只有两个(u,v),实际上是默认[x,y]=meshgrid(0:length(u),0:length(u))

    Step 2 

    参数:(x,y)表示矢量的起点,\vec{a}=u\vec{i}+v\vec{j},(u,v)表示矢量的大小和方向。

    描述:1、数学上可以描述二元函数的梯度,梯度是一个矢量哦。

                                   (u,v)=({\frac{\partial f }{\partial x}},{\frac{\partial f }{\partial y}})

               2、物理学上可以描述电场线、磁场线。

                   点电荷的电势:U=q/4\pi \varepsilon \sqrt{x^2+y^2},电势的梯度实际上就是电场强度\vec{E}

    Step 3

    例子1:描述圆锥的二元函数f(x,y)=\sqrt{x^2+y^2},矢量图表示梯度。

    [x,y]=meshgrid(-2:0.1:2,-2:0.1:2);
    z=sqrt(x.^2+y.^2);
    mesh(x,y,z);
    u=x./sqrt(x.^2+y.^2);
    v=y./sqrt(x.^2+y.^2);
    figure;
    quiver(x,y,u,v,1);

         三维图

     矢量场图

    例子2:Plot the gradient (梯度) of the function .。

    [X,Y] = meshgrid(-2:.2:2);
    Z = X.*exp(-X.^2 - Y.^2);
    [DX,DY] = gradient(Z,.2,.2);
    //求梯度
    figure
    contour(X,Y,Z)//求等势线
    hold on
    quiver(X,Y,DX,DY)//求矢量图
    hold off

     三维图

    矢量场图

    如果把这个函数看做电势的函数,矢量图实际上就是电场线。 

    例子三:点电荷的电势:U=q/4\pi \varepsilon \sqrt{x^2+y^2},简单化,假如U=1/\sqrt{x^2+y^2},求电场线分布。

    [X,Y] = meshgrid(-2:.2:2);
    Z = 1./sqrt(X.^2 + Y.^2);
    DX=-X./(X.^2+Y.^2).^(3/2);
    DY=-Y./(X.^2+Y.^2).^(3/2);
    figure;
    quiver(X,Y,DX,DY);

    Step 4:

    LineStyle连接https://ww2.mathworks.cn/help/matlab/ref/linespec.html

    展开全文
  • 这时候可以使用matlab绘制显示 命令 这里x,y,z是点的位置 这里u,v,w是法线的位置 quiver3(x, y, z, u, v, w); demo: clc close all clear all [V,F,UV,TF,N,NF] = readOBJ('000001.obj'); x = V(:,1); y = V(:,2);...

    综述

    有时候,我们需要计算点法线,想看看结果如何。
    这时候可以使用matlab绘制显示

    命令

    这里x,y,z是点的位置
    这里u,v,w是法线的位置

    quiver3(x, y, z, u, v, w);
    

    demo:

    clc
    close all
    clear all
    [V,F,UV,TF,N,NF] = readOBJ('000001.obj');
    x = V(:,1);
    y = V(:,2);
    z = V(:,3);
    u = N(:,1);
    v = N(:,2);
    w = N(:,3);
    figure
    scatter3(x,y,z,'.')
    hold on
    quiver3(x,y,z,u,v,w);
    

    for more info. pls visit:
    MATLAB quiver3

    展开全文
  • 在搜索过程中,找到了MATLAB绘制海面风场图像,但实现过程中,显示出错 m_pcolor (line 43) data(i)=NaN。又是第一次接触matlab,有点儿懵。不过搞了一下午总算搞懂了,记录下菜鸡之路。 绘制的重点在于quiver函数...

    在搜索过程中,找到了MATLAB绘制海面风场图像,但实现过程中,显示出错 m_pcolor (line 43) data(i)=NaN。又是第一次接触matlab,有点儿懵。不过搞了一下午总算搞懂了,记录下菜鸡之路。

    绘制的重点在于quiver函数

    quiver(x,y,u,v)函数使用箭头来直观的显示矢量场。该调用格式表示通过在(x, y)指定的位置绘制小箭头来表示以该点为起点的向量(u,v)。
    x、y、u、v的行数、列数必须对应相等。即x、y、u、v必须是同型矩阵。
    需要注意的是,如果x、y不是矩阵,MATLAB会调用meshgrid函数将其扩展。然后再调用quiver函数。在这种情况下,x中元素的个数必须等于u、v的列数,y中元素个数必须等于u、v的行数(否则使用meshgrid扩展后无法满足x、y、u、v是同型矩阵,具体参见meshgrid函数)。

    下载到的风场数据的(x,y,u,v)size如下

    size(x)=73x144 
    size(y)=73x144
    size(u)=144x73x31 
    size(v)=144x73x31 

    对应的行列根本不相等!!!!

    这是因为u和v是有31层(也就是z方向啦),所以要做的操作是将u和v的层级剥离出来,我们用在代码中的u和v应该只能是一层

    剥离之后就简单了,代码如下

    fname = '1.nc';
    fnameu = 'C:\Users\2019HWL\PycharmProjects\data\u10\u-2.csv';
    fnamev = 'C:\Users\2019HWL\PycharmProjects\data\v10\v-2.csv';
    ncFilePath='1.nc';
    lon=ncread(ncFilePath,'longitude');%读取经度变量
    lat=ncread(ncFilePath,'latitude');%读取纬度变量
    uwind = csvread(fnameu);
    vwind = csvread(fnamev);
    [lo,la]=meshgrid(lon,lat);
    
    figure
    quiver(lo,la,uwind,vwind,3)

    补充:

    1、下载的是nc数据

    2、剥离过程:

    先用panoply(一个查看nc文件的软件)将u和v导出,导出的格式是csv的。

    将上面得到的csv进行分层,也就是剥离过程。这是之前写的分层代码

    分层得到的是csv,所以读文件是csvread

    来一张图

     

    展开全文
  • MATLAB绘制雷达图并导出矢量图到Visio编辑(论文用图)
  • matlab开发-再次绘制第三个矢量箭头。使用曲面绘制三维矢量
  • 一般用于绘制二维矢量场图,函数调用方法如下: quiver(x,y,u,v)   该函数展示了点(x,y)对应的的矢量(u,v)。其中,x的长度要求等于u、v的列数,y的长度要求等于u、v的行数。在绘制图像的过程中,通常用...
  • Matlab绘制条形图

    千次阅读 2013-09-04 00:03:37
    MATLAB绘制条形图的基本函数为bar和barh,它们的调用格式为:   bar(Y) 如果Y为矢量,其每一个元素绘制一个条形;如果Y为矩阵,侧bar函数对每一行元素绘制的条形进行分组。   bar(x,Y) 按x中指定的位置绘制Y...
  • 第13期,和大家讨论一下风玫瑰图的绘制。风玫瑰图(Wind Rose)是气象学中描述风速和风向发生频率的图。由于风是矢量,常用的统计量如平均值、中值等可能错误地描述风速和风向在一段时间内的特征,比如反向风可能相互...
  • MATLAB绘制一幅中国地图

    千次阅读 2020-07-30 23:27:41
    今天博主跟大家讲一下如何用MATLAB制作一幅中国地图,那废话不多说,我们先看一下最终效果吧。 mercator墨卡托圆柱投影地图    lambert兰伯特圆锥投影地图  一张中国地图大概包括以下要素: 中国...
  • 从HFSS仿真软件中可以直接查看仿真远场3d辐射图,如下右图,本以为HFSS导出的图不能是矢量图,所以就将数据导出,利用matlab来画图,然后导出emf格式的矢量图,如下左图。但是仍旧有锯齿存在,设想是需要好的插值...
  • 从HFSS仿真软件中可以直接查看仿真远场3d辐射图,如下右图,本以为HFSS导出的图不能是矢量图,所以就将数据导出,利用matlab来画图,然后导出emf格式的矢量图,如下左图。但是仍旧有锯齿存在,设想是需要好的插值...
  • 本篇博客主要是利用matlab2016a绘制一些玫瑰花或表白语句,通过绘制掌握matlab画图的一些常规操作,话不多说,直接上代码及注释。 1 爱心 2 玫瑰 3 I LOVE YOU 4 参考文献与链接 1 爱心 clear;clc;%清空工作区以及...
  • 图像要求矢量图,所以使用MATLAB画图。 其实我内心已经要疯了……被毕设折磨好多天了,自从模型出错之后我整个神经都是绷着的,实验花费的时间又比预计要久,第一天爆肝又让自己生物钟乱掉了,所以,整个人疯了……...
  • Matlab绘制特殊图形------散点图

    千次阅读 2019-02-21 17:01:09
    (1)scatter(X,Y) scatter(X,Y)在矢量X和Y指定的位置显示彩色圆; 如:scatter([1 3 2 4 7],[4 5 6 3 9]);效果如图: 默认彩色圆为蓝色空心圆 ...如果S为空,则使用默认大小,如果S是标量,则MATLAB绘...
  • 为什么会发生这种情况......使用plot(x(i),y)绘制100...在这种情况下,不需要for循环,因为您可以直接在MATLAB中计算和绘制矢量。所以下面的代码可能就是你想要的:x = linspace(0,2*pi,100);y = sin(x);plot(x,y);...
  • %生成负五到五之间的五十个数,行矢量 y=normpdf(x,0,1); plot(x,y,‘k’); 图片复制不过来。。就摆个链接好了 https://jingyan.baidu.com/article/6fb756ec70be3f241858fbe2.html 第一,正态分布概率密度函数的...
  • Matlab图形绘制

    千次阅读 2013-07-29 11:04:21
    1.基本绘图函数 函数名功能描述 Plot绘制二维线性图形及两个坐标轴 Plot3绘制三维图形及三个坐标轴 Loglog绘制对数图形及两个...%y为矢量,x将为索引值绘制图像,y为m×n矩阵X为索引号1:m,绘制n各图形 pl
  • matlab矢量图保存

    万次阅读 2016-08-10 11:27:11
    假如选择是选择是Bitmap,改为Preserve information,即由MATLAB自动决定使用何种格式(在可能的情况下优先使用矢量图) 2、在命令行输入: 绘制好图片之后在命令窗口输入uimenufcn(gcf,'EditCo
  • MATLAB在导出比较大的彩图,如pcolor绘制的,或者三维图到EPS、SVG等矢量格式的图时,会出现崩溃或者导出有明显的白线等情况,这个问题困扰了很久。今天又碰到了这个问题,在MATLAB论坛里发现了解决方案,是我之前没...
  • matlab开发-3D2矢量野外绘图仪。该函数可以根据输入符号表达式绘制三维和二维矢量场。
  • 24、绘制函数的梯度场矢量图。 >> [x,y]=meshgrid([-2:0.1:2]); %建立栅格点数据向量 >> z=3.*x.*y*exp(-x.^2-y.^2)-1; %计算函数值向量 >> [u,v]=gradient(z,0.2,0.2); %计算梯度值向量 >> quiver(x,y,u...
  • MATLAB基本的二维图形包括线型(LinePlots) 、散点型(ScatterPlots)、条型(BarPlots)、极坐标型( PolarPlots)及矢量图 型(Vector Fields)等。单击相应的类型,就可以查看相应的用法。 本节介绍二维图形的绘制函数plot...
  • scatter函数绘制散点图——MATLAB

    万次阅读 2017-06-23 21:08:33
    1、scatter(X,Y)在矢量X和Y指定的位置显示彩色圆; 如:scatter([1 2 3 4],[4 5 6...如果S为空,则使用默认大小,如果S是标量,则MATLAB绘制所有标记的大小相同。如果S是矢量,则分别对应为X、Y所确定圆的大小; 如s
  • 作者:橘子tea个人主页:orangtea.zcool.com.cn虽说绘制插画一般用手绘软件,但如果用Sketch矢量工具也可以绘制吗?当然可以,UI插画本来就是扁平化风格居多,所以用AI、Sketch、PS都可以,也只是工具而已,重要还是...
  • matlab开发-彩色二维矢量野外绘图仪。绘制二维矢量,根据其长度着色。
  • 还是老规矩先宣传一下QQ...用任何语言生成的xy坐标和uv速度场,怎么画流线图和矢量图呢,MATLAB提供streamslice函数: %From https://ww2.mathworks.cn/help/matlab/ref/streamslice.html hh=streamslice(ux',u

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

matlab绘制矢量

matlab 订阅