二维曲线
plot函数
(1)plot函数的基本用法
plot(x,y),其中x和y分别用用于存储x坐标和y坐标数据。
(2)最简单的plot函数调用格式
横坐标是1,2,3,4 ...,纵坐标是x向量的值
当plot函数的参数x是负数向量时,则分别以该向量元素实部和虚部为横、纵坐标绘制出一条曲线。
(3)plot(x,y)函数参数的变化形式
当x时向量,y是矩阵时
- 如果矩阵y的列数等于x的长度,则以向量x为横坐标,以y的每一行向量为纵坐标绘制曲线,曲线的条数等于y的行数。
- 如果矩阵y的行数等于x的长度,则以向量x为横坐标,以y的每个列向量为纵坐标绘制曲线,曲线的条数等于y的列数。
【示例】
其中x是由linspace函数生成的有一百个元素的行向量
y由三个行向量构成,行向量的长度与x相同
-当x、y是同型矩阵时
以x、y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
第二行t1=t'的意思是:t1是t的转置
转置函数:把矩阵横竖倒置
(4)含多个输入参数的plot函数
【示例】
(5)含选项的plot函数
【示例】
fplot函数
- 可根据参数函数的变化特性,自适应的设置采样间隔
- 当函数值变化缓慢时,自设置的的采样间隔大;当函数值变化急剧时,自设置的采样间隔小
(1)fplot函数的基本用法
fplot(f,lims,选项)
其中f代表一个函数,通常采用函数句柄的形式。lims为x走的取值范围,用二元向量[xmin,xmax]描述,默认值为[-5,5]。选项定义与plot函数相同
【示例】
(2)双输入函数参数的用法
fplot(funx,funy,tlims,选项)
其中,funx、funy代表函数,通常采用函数句柄的形式。tlims为参数函数funx和funy的自变量取值范围,用二元向量[tmin,tmax]描述。
【示例】
绘制图形的辅助工具
1.给图形添加标注
①title函数的基本用法
title(图形标题)
如果要加多行标题则:
②在图形标题中使用LaTeX格式控制符
③含属性设置的title函数
title(图形标题,属性名,属性值)
Color属性:用于设置图形标题文本的颜色。
title('y=cos{\omega}t','Color','r')
- FontSize属性:用于设置标题文字的字号
title('y=cos{omega}t','FontSize',24)
2.xlabel函数和ylabel函数
- xlabel(x轴说明)
- ylabel(y轴说明)
ylabel('-2pi leq x leq 2pi')
3.text函数和gtext函数
- text(x,y,图形说明)
其中红色字体leftarrow的意思是左箭头
- gtext(说明):它是在括号内输入说明后,在图形上自己选择位置进行标注
4.legend(图例1,图例2,...)
执行命令后:
出现了曲线区别的标注
2.坐标控制
(1)axis函数
【示例】
为了得到封闭图形需要x和y首尾都相同,这样得到一个横纵坐标相同的框
第四条axis语句的意思是框框的横纵起始位置都是-0.1,终止位置都是1.1
第五条语句的意思是让横纵坐标采用等长刻度
axis其他用法
(2)给坐标系加网格和边框
1.加网格
- grid on
- grid off
- grid
2.加边框
- box on
- box off
- box
【示例】
3.图形保持(图形保持命令:hold)
- hold on 控制保持原有图形,就是在生成一个图后,在生成的话如果没有hold 那么第一个生成的图就会消失
- hold off 控制刷新图形窗口
- hold 控制在两种状态之间进行切换
【示例】
4.图形窗口的分割
- 子图:同一图形窗口中的不同坐标系下的图形称为子图
【示例】
第一块
subplot(2,2,1)
x = linspace(0,2*pi,60)
y = sin(x)
plot(x,y)
title('sin(x)')
axis([0,2*pi,-1,1])
subplot(2,2,2)
第二块
x = linspace(0,2*pi,60)
y = cos(x)
plot(x,y)
title('cos(x)')
第三块
subplot(2,2,3)
x = linspace(0,2*pi,100)
y = tan(x)
plot(x,y)
title('tan(x)')
axis([0,6,-10,10])
第四块
subplot(2,2,4)
x = linspace(0,2*pi,100)
y = pi*x
plot(x,y)
title('y=Πx')
效果如下
【其他示例】
其他形式的二维图形
(1)对数坐标图
semilogx使用半对数坐标x轴为为常用对数刻度,而y轴保持线性刻度,也就是x轴的刻度是对数,二y轴的刻度是整数数字
semilogy使用半对数坐标y轴为为常用对数刻度,而x轴保持线性刻度
loglog使用全对数坐标,x、y轴都用常用对数刻度
【示例】
代码如下
x = 0:0.1:10;
y = 1./x;
subplot(2,2,1)
plot(x,y)
title('plot(x,y)')
subplot(2,2,2)
semilogx(x,y)
title('semilogx(x,y)')
subplot(2,2,3)
semilogy(x,y)
title('semilogy(x,y)')
grid on
subplot(2,2,4)
loglog(x,y)
title('loglog(x,y)')
grid on
效果如下
(2)极坐标图
polar(theta,rhop,选项)
其中,theta为极角,rho为极径,选项的内容与plot函数相同。
【示例】
(3)统计图
条形类图形
1.条形图
bar 函数
bar(y,style)
其中,参数y是数据,选项style用于指定分组排列模式,有“grouped”:簇状分组和“stacked”:堆积分组,默认是簇状分组形式。
【示例】
代码如下:
>> y = [1,2,3,4,5;1,2,1,2,1;5,4,3,2,1]
y =
1 2 3 4 5
1 2 1 2 1
5 4 3 2 1
>> subplot(1,2,1)
>> bar(y)
>> title('Group')
>> hold on
>> subplot(1,2,2)
>> bar(y,'stacked')
>> title('Stack')
效果如下:
bar(x,y,style)
其中,x存储横坐标,y存储数据。
set(gca,'XTICK',[1:21])指定页面显示的X轴刻度范围
>> set(gca,'XTicklabel',E)修改X坐标标签内容
【示例】
代码如下:
>> x = [2015,2016,2017]
x =
2015 2016 2017
>> y = [68,80,115,98,102;75,88,102,99,110;81,86,125,105,115]
y =
68 80 115 98 102
75 88 102 99 110
81 86 125 105 115
>> bar(x,y)
>> title(''Group)
>> title('Group')
效果如下:
其中y的每一行对应一年的销售数据,
- barh函数
2.直方图
hist函数
hist(y) hist(y,x)
其中,参数y是要统计的数据,x用于指定区间的划分方式,若x是标量则均分成x个小区间,若x是向量,则向量x的每一个数都是指定分组的中心值,元素的个数为数据分组数。x缺省时默认按10个等分区间进行统计
【示例】
代码如下:
y = randn(500,1)
subplot(2,1,1)
hist(y)
title('高斯分布直方图')
subplot(2,1,2)
x=-3:0.2:3
hist(y,x)
title('指定区间中心点的直方图')
效果如下
rose函数
用于绘制极坐标系下的直方图,也叫做玫瑰花图
rose(theta,x)
其中,参数theta用于确定每一区间与远点的角度,选项x用于指定区间的划分方式。
图像拟合
应用
杨辉三角
A = pascal(5)
输出
A =
1 1 1 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70