MATLAB三维绘图命令plot3入门

一、引言
Matlab软件提供了强大的可视化功能,既可以绘制平面图形,也可以绘制三维图形。绘制三维曲线图或者散点图可以使用命令plot3来实现。本文给出利用plot3绘制三维曲线图(其实就是曲面)或者散点图入门简介。
二、plot3基本用法详述
基本语法:plot3(x, y, z, s )
其中x、y和z是同维数的数组,(x,y)构成了三维曲面图形在定义域上的坐标点,z是竖坐标,可以是(x,y)的函数,也可以只有数值关系。
s是图元属性。
其功能是根据根据属性s给定的颜色或者线元和曲面上的网格点(x, y, z)绘制空间曲面的曲线图。
图元属性s均可以缺省。当缺省s的时候,用系统自动指定的颜色绘制三维曲线图;
例1.已知横坐标和纵坐标网格,绘制空间曲线图。
%示例代码(1)利用系统给定颜色绘图

[x,y]=meshgrid(-2*pi:0.2:2*pi);
z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);;
plot3( x, y, z );

%运行结果
MATLAB三维绘图命令plot3入门_第1张图片
%示例代码(2):指定颜色

[x,y]=meshgrid(-2*pi:0.2:2*pi);
z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);
plot3( x, y, z, 'r' )

%运行结果
MATLAB三维绘图命令plot3入门_第2张图片
%示例代码(3):每条线都根据自己的需要指定颜色

[x,y]=meshgrid(-2*pi:0.2:2*pi);
z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);
len = length( z );
for i = 1 : len
    plot3( x(:,i), y(:,i), z(:,i), 'color', [ i/(len), (i+len)/(3*len), (i+len)/(6*len) ])
    hold on
end

%运行结果
MATLAB三维绘图命令plot3入门_第3张图片

例2:绘制螺旋线图(虚线)
参考代码:

clear all
clc
t = [ 0 : 0.02 : 10 ] * pi;
r = 2;
x = r * cos(t);
y = r * sin(t);
z = 0.5 * t;
plot3( x, y, z, 'b--' )

%运行结果
MATLAB三维绘图命令plot3入门_第4张图片
例3:绘制随机散点图
参考代码:

clear all
clc
[ x, y ] = meshgrid( 0 : 0.2 : 3 );
z1 = randn( size(x) );
plot3( x, y, z1, 'ro' )
hold on
[ x, y ] = meshgrid( 1 : 0.2 : 4 );
z2 = randn( size(x) ) + 2;
plot3( x, y, z2, '.', 'markersize', 20 )
xlabel('x');
ylabel('y');
zlabel('z');
grid on

MATLAB三维绘图命令plot3入门_第5张图片
例4:绘制上半圆锥面截单位球面所得到曲面的散点图。
参考代码:(借用了球面坐标)

clear all
clc
r=1;
for phi = 0:pi/80:pi/4
    for theta = 0:pi/20:2*pi
        x = r*sin(phi)*cos(theta);
        y = r*sin(phi)*sin(theta);
        z = r*cos(phi);%球面上的竖坐标
        zz = r*sin(phi);%圆锥面上的竖坐标
        col1 = abs(x);
        col2 = abs(y);
        col3 = abs(z);
        plot3(x,y,z,'.','color',[col1,col2,col3]);%球面
        hold on
        plot3(x,y,zz,'r.')%圆锥面
    end
end
axis equal
xlabel('x');
ylabel('y');
zlabel('z');

运行结果:
MATLAB三维绘图命令plot3入门_第6张图片

你可能感兴趣的:(Matlab绘图专题,matlab,开发语言)