文章目录
前言
所有程序均已经过调试,文章来记录自己学习matlab的学习之路
一、其他坐标系下的二维曲线图
(1)对数坐标图
semilogx(x1,y1,选项1,x2,y2,选项2,····)
semilogy(x1,y1,选项1,x2,y2,选项2,····)
loglog(x1,y1,选项1,x2,y2,选项2,····)
绘制1/x的直角线性坐标图和三种对数坐标图:
>> 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)');
>> grid on
>> 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,rho,选项)
其实,theta为极角,rho为极径
按极坐标方程ρ=1-sin(θ)绘制心形曲线:
>> t=0:pi/100:2*pi;
>> r=1-sin(t);
>> subplot(1,2,1)
>> polar(t,r)
>> subplot(1,2,2)
>> t1=t-pi/2;
>> r1=1-sin(t1);
>> polar(t,r1)
极角为正数,顺时针旋转
极角为负数,逆时针旋转
二、统计图
(1)条形类图形
1.条形图:
bar 函数 :bar(y,style)
参数y是数据,
选项style用于指定分组排列模式:grouped:簇状分组,stacked:堆积分组
barh 函数:bar(x,y,style)
x存储横坐标,y存储数据
绘制分组条形图:
>> y=[1,2,3,4,5;1,2,1,2,1;5,4,3,2,1];
>> subplot(1,2,1)
>> bar(y)
>> title('GROUP')
>> subplot(1,2,2)
>> bar(y,'stacked')
>> title('Stack')
绘制销售数据,绘制条形图:
>> x=[2015,2016,2017];
>> y=[68,80,115,98,102;75,88,102,99,110;81,86,125,105,115];
>> bar(x,y)
>> title('Group')
2.直方图
hist 函数:hist(y)
y是向量,将区间等分,统计落在区间上元素的个数,以元素高度绘制图
hist(y,x)
x用来统计区间的划分方式,x为标量,则等分成x个小区间。x为向量,则向量x中的每一个数,指定分组的中心值,元素的个数为数据分组数,x缺省时,统一按10来算。
指定了bin数量为x,即分类为x个等距bin的直方图
参数y是要统计的数据,x用于指定区间的划分
rose 函数:(极坐标下的直方图)rose (theta,x)
theta为向量,用于确定每一区间与原点的角度,选项x用于指定区间的划分方式。
x标量,默认20个扇形
绘制服从高斯分布的直方图
>> y=randn(500,1);
>> subplot(2,1,1);
>> hist(y);
>> title('高斯分布直方图');
>> subplot(2,1,2);
>> x=-3:0.2:3;
>> hist(y,x);
>> title(('指定区间中心点的直方图')')
绘制高斯分布数据在极坐标下的直方图
>> y=randn(500,1);
>> theta=y*pi;
>> rose(theta)
>> title('在极坐标下的直方图')
(2)面积类图形
1.扇形统计图
pie函数:pie(x,explode)
参数x存储待统计数据,选项explode控制图块的显示模式
某次考试优秀、良好、中等、及格、不及格的人数分别为:5,17,23,9,4,试用扇形统计图做成绩分析:
>> score=[5,17,23,9,4];
>> ex=[0,0,0,0,1];
>> pie(score,ex)
>> legend('优秀','良好','中等','及格','不及格','location','eastoutside')
2.面积图
area函数
3.散点图:(比较理论值与实验值的差异)
scatter函数:散点图
scatter(x,y,选项,'filled')
参数x,y用于定位数据点,选项用于指定线型、颜色、数据点标记
>> t=0:pi/50:2*pi;
>> x=16*sin(t).^3;
>> y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
>> scatter(x,y,'rd','filled')
stairs函数:阶梯图
stem函数:杆图
三、矢量类图形:
compass函数:罗盘图
feather函数:羽毛图
quiver函数:箭头图: quiver(x,y,u,v)
(x,y)指定矢量起点,(u,v)指定矢量终点