MATLAB三維繪圖(一)三維基礎繪圖
三維圖就是在二維圖的基礎上多增加了一維,實質上在MATLAB中繪制的都是三維圖。簡單看一下二維圖是怎樣變成三維圖的,使用plot3函數可以很清楚的看出來。示例:
%% 簡單理解三維畫圖
clear; clc; close all;
x=0:0.1:5*pi;
z1=sin(x);
z2=sin(2.*x);
z3=sin(3.*x);
y1=zeros(size(x));
y3=ones(size(x));
y2=y3./2;
plot3(x,y1,z1,'r',x,y2,z2,'b',x,y3,z3,'g'); % 畫出三條不同的直線顯示的是三維圖像
grid on; % 顯示網格
xlabel('x-axis'); ylabel('y-axis'); zlabel('z-axis');
效果顯示:
1、使用最簡單的三維畫圖函數plot3來認識一下三維圖。示例1:彈簧圖
%% 螺旋狀圖(彈簧)
clear; clc; close all;
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t); % 使用plot3進行繪制三維曲線圖
grid on; % 顯示網格
axis square; % 坐標邊框尺度大小相同
效果顯示:
示例2:螺旋圖:
%% 螺旋狀圖(盤香)
clear; clc; close all;
turns = 40*pi;
t = linspace(0,turns,4000);
x = cos(t).*(turns-t)./turns;
y = sin(t).*(turns-t)./turns;
z = t./turns;
plot3(x,y,z); % 使用plot3繪制
grid on;
效果顯示:
2、通過meshgrid函數生成網格來比較surf函數和mesh函數的區別,了解meshgrid函數的用法
。示例:
%% 比較surf和mesh的區別
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); % 設定Z的范圍
subplot(1,2,1);
mesh(X,Y,Z); % 顯示繪圖的線,但是表格中間沒有填充顏色
title('mesh draw');
subplot(1,2,2);
surf(X,Y,Z); % 顯示繪圖的線,表格中間有填充的顏色
title('surf draw');
效果顯示:
想了解更多繪圖信息,請看下面博文:
三維:
MATLAB三維繪圖(五)高級三維繪圖
MATLAB三維繪圖(四)繪制特殊的三維圖
MATLAB三維繪圖(三)繪制等值線圖
MATLAB三維繪圖(二)使用隱函數作三維圖
二維:
MATLAB二維繪圖(四)其他特殊的二維繪圖函數介紹及用法
MATLAB二維繪圖(三)操作繪圖句柄顯示特定的效果
MATLAB二維繪圖(二)向圖中添加標題,坐標軸,圖標和文字信息
MATLAB二維繪圖(一)使用plot函數進行簡單繪圖
fill填充函數解析及用法示例