MATLAB绘制等高线和梯度场

 1 clear;clc;close all
 2 [X,Y] = meshgrid(-2:.2:2);        % 产生网格数据X和Y
 3 Z = X.*exp(-X.^2 - Y.^2);         % 计算网格点处曲面上的Z值
 4 [DX,DY] = gradient(Z,0.2,0.2);    % 计算曲面上各点处的梯度
 5 figure;
 6 contour(X,Y,Z) ;                  % 绘制等高线
 7 title('等高线')
 8 
 9 figure;
10 quiver(X,Y,DX,DY) ;               % 绘制梯度场
11 title('梯度场')
12 
13 figure;
14 contour(X,Y,Z) ;                  % 绘制等高线
15 hold on   
16 quiver(X,Y,DX,DY) ;               % 绘制梯度场
17 h = get(gca,'Children');          % 获取当前axes对象的所有子对象的句柄
18 set(h, 'Color','k');              % 设置当前axes对象的所有子对象的颜色为黑色
作者: tongqingliu
出处: http://www.cnblogs.com/liutongqing/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
如果觉得本文对您有益,欢迎点赞、欢迎打赏。
原文地址:https://www.cnblogs.com/liutongqing/p/6354272.html