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)表示矢量的起点,
,(u,v)表示矢量的大小和方向。
描述:1、数学上可以描述二元函数的梯度,梯度是一个矢量哦。
2、物理学上可以描述电场线、磁场线。
点电荷的电势:
,电势的梯度实际上就是电场强度
。
Step 3
例子1:描述圆锥的二元函数
,矢量图表示梯度。
[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
三维图
矢量场图
如果把这个函数看做电势的函数,矢量图实际上就是电场线。
例子三:点电荷的电势:
,简单化,假如
,求电场线分布。
[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