Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

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

随风666666 2020-03-09 10:29:00 阅读数:19 评论数:0 点赞数:0 收藏数:0

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函数的区别。示例:

%% 比较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');

效果显示:
在这里插入图片描述

版权声明
本文为[精进慎逸]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/zhicungaoyuan-mingzhi/p/12447149.html