一、引言
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 );
%运行结果
%示例代码(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' )
%运行结果
%示例代码(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
%运行结果
例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--' )
%运行结果
例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
例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');
运行结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/39162.html