%绘制向量场图
%例一
clear all;clc;
[X,Y] = meshgrid(-2:.2:2,-3:.2:3);
Z = X.*exp(-X.^2 - Y.^2);
[DX,DY] = gradient(Z); %Dx为水平方向上的梯度,第一列元素为原矩阵第二列与第一列元素之差,
%第二列元素为原矩阵第三列与第一列元素之差除以2,以此类推
[DDX,DDY]=gradient(Z,0.1,0.25);%这个就是将默认除以的2,x轴换为0.1,y轴换为0.25.
%[FX,FY]=gradient(F,HX,HY) HX,HY参数表示各方向相邻两点的距离
contour(X,Y,Z,7); %7个等级的等值线图
hold on,colormap hsv
quiver(X,Y,DX,DY,0.8); %绘制梯度(向量)场
%1.2代表所画出的向量长度的缩放系数
hold off
%例二
n=-2:.15:2;
[X,Y,Z]=peaks(n);
contour(X,Y,Z,10);colormap autumn
[U,V]=gradient(Z);hold on
quiver(X,Y,U,V);hold off
legend(\'等值线\',\'向量场\');
%例三:三维向量场图绘制
%本例是绘制三维参数曲线的很好的例子
vz = 10; % Velocity
a = -32; % Acceleration
t = 0:.1:pi/2;
x = 2*cos(t);y = 3*sin(t);
z = vz*t + 1/2*a*t.^2;
plot3(x,y,z,\'r\');hold on %绘制曲线图像
u = gradient(x);v = gradient(y);w = gradient(z);
quiver3(x,y,z,u,v,w,0.2,\'b\'); %绘制切向量
请发表评论