MATLAB三維繪圖(三)繪制等值線圖
1、使用contour函數繪制等值圖,示例:
%% 顯示不同顏色的梯度圖
clear; clc; close all;
x = -3.5:0.2:3.5;
y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y); % 獲取網格
Z = X.*exp(-X.^2-Y.^2);
subplot(2,1,1);
mesh(X,Y,Z); % 繪制三維圖
axis square; % 坐標軸之間的尺度相等
subplot(2,1,2);
contour(X,Y,Z); % 顯示不同高度的線段
axis square; % 坐標軸之間的尺度相等
效果顯示:
2、使用clabel函數查看等值線上的值,示例:
%% 使用clabel函數查看等值線的值
clear; clc; close all;
x = -3.5:0.2:3.5;
y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
[C,h] = contour(Z); % 顯示梯度,並且獲取梯度數據進行操作
clabel(C,h); % 顯示梯度的值
效果顯示:
3、使用contourf函數查看等值線,示例:
%% 使用contourf函數顯示等值線,並且有顏色填充
clear; clc; close all;
x = -3.5:0.2:3.5;
y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
contourf(Z); % 顯示梯度,並且使用顏色進行填充
效果顯示:
4、使用meshc函數和surfc函數查看原圖和等值線圖的對比,示例:
%% meshc和surfc顯示三維圖,並且顯示不同的等高線
clear; clc; close all;
x = -3.5:0.2:3.5;
y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y); % 獲取網格
Z = X.*exp(-X.^2-Y.^2);
subplot(1,2,1);
meshc(X,Y,Z); % 繪制三維圖,並且顯示等高線
subplot(1,2,2);
surfc(X,Y,Z); % 繪制三維圖,並且顯示等高線
效果顯示:
說明:一般情況下如果想看原來圖像和等值線的對比圖,在函數后面加字母c即可,如meshc查看mesh函數繪制圖形的等值圖和原圖的對比。
4、使用隱含數繪制等值線圖:
使用ezcontour函數繪制,示例:
%% 符號函數的等值線圖
clear; clc; close all;
figure;
ezcontour('x.*exp(-x.^2-y.^2)',[-3 3]);
效果顯示:
使用ezmeshc函數繪制,示例:
%% 帶有等值線的三維網格圖
clear; clc; close all;
figure;
ezmeshc('x.*exp(-5*x.^2-8*y.^2)');
效果顯示:
使用ezsurfc函數繪制,示例:
%% 帶有等值線的三維彩色的曲面圖
clear; clc; close all;
figure;
ezsurfc('4*x.*exp(-4*x.^2 - 6*y.^2)');
效果顯示:
想了解更多繪圖信息,請看下面博文:
三維:
MATLAB三維繪圖(五)高級三維繪圖
MATLAB三維繪圖(四)繪制特殊的三維圖
MATLAB三維繪圖(二)使用隱函數作三維圖
MATLAB三維繪圖(一)三維基礎繪圖
MATLAB三維繪圖基礎meshgrid函數的用法解析
二維:
MATLAB二維繪圖(四)其他特殊的二維繪圖函數介紹及用法
MATLAB二維繪圖(三)操作繪圖句柄顯示特定的效果
MATLAB二維繪圖(二)向圖中添加標題,坐標軸,圖標和文字信息
MATLAB二維繪圖(一)使用plot函數進行簡單繪圖
fill填充函數解析及用法示例