MATLAB绘图基础

(一)MATLAB的基本构成:

MATLAB的基本构成包扩界面结构,功能选择,基本操作和程序运行等,可以实现6个方面的功能:数值计算与分析,符号解析运算与变换,建模与仿真分析,数据可视化,图形处理与可视化,基于图形用户界面的应用与开发。

(二)MATLAB的基本绘图函数及其操作

MATLAB不仅具有强大的计算功能,还具有非常好的数据可视化功能,可以满足一般科学计算中所需要的图形绘制与交互功能,如二维平面曲线、三维空间曲线和曲面等静态和动态显示等。

1.figure 或 figure(m)

命令figure可以创建一个按自然顺序进行编号的图形窗口,m则是指定图形编号为m的图形窗口。

2.subplot(n,m,k) 或 subplot nmk

在一个图形窗口中设置n行m列个子图形窗口,选定第k个子窗口作为当前绘制图形窗口。

3.plot

plot可以绘制一条或者多条曲线。

绘制一条曲线的一般格式为:plot(x,y,'color line marker'),其中x为横坐标向量,y为纵坐标向量,color line marker分别为图形曲线的颜色、线型与标记类型。

绘制多条曲线时,可以多次使用plot语句,也可以按照如下格式:

plot(x1,y1,'color line marker',x2,y2,'color line marker',...........)

4.其他常用二维绘图格式

5.二维动画图形制作

moviein(n):创建具有列的矩阵,可以存放n帧画面,每一列对应一帧图像。

getframe:将plot()等图形命令函数绘制的第i幅图作为第i帧画面以列的形式保存在矩阵中。

movie(m,k,fps):影片播放函数,以每秒fps帧放映矩阵m中的画面k遍。

示例1:在0~4\pi区间绘制动态曲线sin(t),图形特征为星号。

clc
clear
close all

t = 0:pi/20:4*pi;  %设置图像位移间隔,采样数>40帧x2
x = 0:pi/20:4*pi;  %设置函数变量,采样数>40帧x2
m = moviein(40);    %创建具有40列的矩阵m
for i = 1:40
    y = sin(x-t(i));
    plot(x,y,'*k');
    axis([0,12,-1.2,1.2]);grid;
    m(i) = getframe;
end
movie(m,5);

运行结果:

示例2:绘制r = 5sin(3t/2)的极坐标动画图

clc
clear
close all

t = 0:0.1:4*pi;  %设置图像位移间隔,采样数>40帧x2
T = 0:0.1:4*pi;  %设置函数变量,采样数>40帧x2
m = moviein(40);    %创建具有40列的矩阵m
for i = 1:40
    y = 5*sin(3*(T-t(i))/2);
    polar(T,y,'y');
    
    m(i) = getframe;
end
movie(m,10);

运行结果:

6.三维图形的基本绘制方法

三维曲线绘制函数的一般格式为:

plot3(x,y,z,'color line marker'),其中x,y,z分别三维曲线在三个维度上的坐标向量,color line marker分别为三维图形曲线的颜色、线型与标记类型。

绘制多条三维曲线时,可以多次使用plot语句,也可以按照如下格式:

plot3(x1,y1,z1,'color line marker',x2,y2,z2,'color line marker',...........)

示例:绘制参数方程:x(t) = t^{^{3}}sin(3t)e^{^{-t}},y = t^{^{3}}cos(3t)e^{^{-t}},z = t^{^{2}}的三维曲线。

clc
clear
close all

t = 0:0.1:2*pi;  %设置t的采样点向量
%T = 0:0.1:4*pi;  %设置函数变量,采样数>40帧x2
x = t.^3.*sin(3*t).*exp(-t);
y = t.^3.*cos(3*t).*exp(-t);
z = t.^2;
figure(1);
plot3(x,y,z);
grid;
xlabel('X axis');
ylabel('Y axis');
zlabel('Z axis');
figure(2);
stem3(x,y,z);%绘制三维离散杆图
grid on;
xlabel('X axis');
ylabel('Y axis');
zlabel('Z axis');

运行结果:

7.常见的三维曲面绘制函数

示例:绘制二元函数z = f(x,y) = (x^{2}-2x)e^{-x^{2}-xy-y^{2}}的三维表面图形。

clc
clear
close all

v = -2:0.1:2;
w = -2:0.1:2;%设定x-y平面上的取值区间
[x,y] = meshgrid(v,w);%生成矩阵数据[x,y]
z = (x.^2-2*x).*exp(-x.^2-x.*y-y.^2);%计算函数对应的曲面矩阵z
figure(1);
mesh(x,y,z);%绘制表面网格图
figure(2);
surf(x,y,z);%绘制表面图

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值