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; % 坐标边框尺度大小相同
%% 螺旋状图(盘香)
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填充函数解析及用法示例