Matlab学习笔记2——基础绘图
在进行练习之前,首先提一下一些基本概念,Matlab的图表是由很多个构件所组成的,而这些绘图构件都三个句柄分别来进行控制:分别是控制目标绘制曲线的h=plot(x,y)中h句柄(此句柄名称有程序员自由定义)、控制图像坐标系属性的gca(名称固定),控制绘图图像属性的gcf(名称固定)。
练习一——绘制如下图像。
参考代码:
clc;
clear all;
t=1:0.01:2;%创建一个从1逐步递增到2,增量为0.01的数组用于绘图
f=t.^2;%注意此处为.^2
g=sin((2*pi).*t);
hold on;%使得再次使用plot绘图指令时,不将上一条绘制曲线抹去覆盖,而是
%同时出现在图片上,此处可有可无,由于不涉及多次使用plot指令
h1=plot(t,f,'k-',t,g,'ro');%分别绘制f(t)和g(t)的函数曲线,其曲线外观设置
%分别为'k-'、'ro'
xlabel('Time(ms)'); %将xlable即横坐标名称设为'Time(ms)'
ylabel('f(t)'); %将ylable即纵坐标坐标名称设为'f(t)'
title('Mini Assignment #1');%将图片命名为‘Mini Assignment #1'
legend('t^2','sin(2\pit)','Location','northwest');%在西北角为分别为两
%个函数曲线增添图例
set(gca,'XTick',1:0.2:2);%设置X轴上的刻度疏密以及显示数值,从1开始到2,
%刻度距离为0.2
set(gca,'BOX','on');%将gca句柄控制的BOX(右侧和上侧边框)开启,设置为on
hold off;
相关知识点:
1.hold on/hold off:是否擦除之前所绘制曲线。
hold on;%使得再次使用plot绘图指令时,不将上一条绘制曲线抹去覆盖,而是
%同时出现在图片上
plot(x,y); %在on和off之间,如果多次使用plot指令,每次绘图时并不会将原来
%所绘制的图线擦去,而是与新绘制的图线一起保留在figure上
plot(x,z);%若在on和off之外,这多次使用plot命令只会保留最后所绘制的图线,
%之前的图线都会被覆盖擦除
hold off
2.plot(x,y):绘制基于x为横坐标,而y为纵坐标的点集的曲线,可以在一个plot()
函数中指定多个需要绘制的曲线,plot(x,y)的值为对应曲线的句柄。
h1=plot(t,f,'k-',t,g,'ro');%分别绘制f(t)和g(t)的函数曲线,其曲线外观设置
%分别为'k-'、'ro',h1(1)为第一条曲线句柄,h1(2)为第二条曲线句柄
曲线外观参数设置表如下:
3.xlabel()/ylabel()/title():设置对应横纵坐标系以及figure的名称
xlabel('Time(ms)'); %将xlable即横坐标名称设为'Time(ms)'
ylabel('f(t)'); %将ylable即纵坐标坐标名称设为'f(t)'
title('Mini Assignment #1');%将图片命名为‘Mini Assignment #1'
4.legend():为图像添加图例
legend('t^2','sin(2\pit)','Location','northwest');%在西北角为分别为两
%个函数曲线增添图例,此为简单用法,如果对曲线A进行修改后,需要将一些相
关属性同步至图例中则还需要添加曲线对应句柄,如下式
legend([h(1),h(2)],'t^2','sin(2\pit)','Location','northwest');%将leg
end与修改后的h句柄对应,保证修改后的曲线与legend保持对应
5.get():查询句柄当前属性对应的值和构件名称(绘图时常用)
get(h(1));%查询h(1)对应的曲线构件的所有参数设置
get(gca);%查询当前figure对应的axes参数设置
get(gcf);%查询当前图片的figure参数设置
eg:
6.set():改变指定句柄的某些指定构件参数
set(gca,'XTick',1:0.2:2);%改变gca句柄中的XTick属性参数,设置X轴上的刻度疏密以及显示数值,从1开始到2,
%刻度距离为0.2
set(gca,'BOX','on');%将gca句柄控制的BOX(右侧和上侧边框)开启,设置为on
程序运行效果: