MATLAB三维绘图(一)三维基础绘图

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填充函数解析及用法示例

posted @ 2020-03-09 10:29  SZU_黄其才  阅读(3526)  评论(0编辑  收藏  举报