二维曲线的绘制是将平面上的数据连接起来,数据点可以用向量或者矩阵来表示。本次将介绍一些常用的绘图知识。
1、plot函数:执行该命令时会创建一个新的图形窗口,若此时有图形窗口打开则会覆盖原图像。
(1)plot(x):
①x为实向量时,默认把数据作为纵坐标,横坐标根据数据的个数作为索引一一对应;
plot([11:20]);
②x为实矩阵时,按列绘制出每列元素值相对其下标曲线(类似实向量形式),曲线数等于x的列数;
plot(randi(20,3,3));
③x为复数矩阵时,按列分别绘制出以元素实部为横坐标,虚部为纵坐标的多条曲线。
(2)plot(x,y)
x=0:0.01:(pi*4);
y=sin(x);
plot(x,y);
(3)plot(x1,y1,x2,y2,...):类似(2)用法
(4)plot(x,y,s):s为单引号标记的字符串,用于设置数据点的类型、大小或者线条颜色、粗细等
x=0:0.01:(pi*4);
y=sin(x); %以红色双划线的样式绘图
hold on; %保持原图并继续作图
y1=cos(x); %以蓝色点划线的样式绘图
plot(x,y,'--r',x,y1,'-.b')
grid on; %网格
axis([0 pi*4 -1.1 1.1]); %范围
legend('Sin(x)', 'Cos(x)'); %图例
title('sin,cos函数曲线'); %标题名
xlabel('x 坐标');
ylabel('y 坐标'); % 横 、纵坐标名
下图为常用字符表格2、多图形显示
(1)subplot(m,n,p):将当前figure窗口分隔成m×n个区域,并且在第p个视图下绘制。
x=0:0.01:(pi*2);
y=sin(x); y1=cos(x); y2=tan(x); y3=cot(x);
subplot(2,2,1) plot(x,y)
subplot(2,2,2) plot(x,y1)
subplot(2,2,3) plot(x,y2)
subplot(2,2,4) plot(x,y3)
(2)tiledlayout和nexttile函数:创建分隔区域图块,然后调用该坐标区。
x=linspace(-pi,pi); y=cos(x);
tiledlayout(2,2) % 将当前窗口布局为2*2的试图区域
nexttile % 在第一个图块中创建一个坐标区对象
plot(x)
nexttile
plot(x,y)
nexttile([1 2]) % 第三个图块占据一行两列的坐标区
plot(x,y)
3、fplot函数:专门用于绘制一元函数图像的命令,该命令绘制的图像比plot所绘制的更加光滑准确。
(1)fplot(f):在默认区间[-5,5]上绘制y=f(x)的曲线,定义曲线时要注意改用函数句柄;
(2)fplot(f,lim):lim为指定的范围;
(3)fplot(funx,funy,lim):在规定lim范围内绘制x=fun(t)和y=fun(t)的曲线;
y=@(x)x.^2; % 匿名函数,通过函数句柄的写法
% 自定义的函数必须要通过匿名函数的形式进行定义 fplot(@fun)
figure(1); fplot(y,'r');
figure(2); fplot(y,'b',[-20,20]); % 设定自变量范围
% MATLAB中自带的函数在调用时也需要加上 @ 符号
figure(3); fplot(@sin,'g');
figure(4); x1=@(t)sin(t); y1=@(t)cos(t);
fplot(x1,y1,'--r')
figure(5); syms x2; y2=exp(x2);
h=fplot(y2,'b'); % 符号函数本身就是一个表达式,所以不需要添加 @
h.Color='g'; % 通过句柄修改线条颜色
(4)分段函数的绘制:通过范围的限制和hold on函数进行绘制。
figure(6);
hold on;
y1=@(t)t.^2-1;
y2=@(t)log(t);
fplot(y1,[-1,1]);
fplot(y2,[1,3]);
hold off;
grid on;
4、辅助绘图