1.用左侧、右侧标度绘制函数图像
x=[0:0.01:30];
y1=50*exp(-0.05*x).*sin(x);
y2=0.5*exp(-0.5*x).*cos(x);
plotyy(x,y1,x,y2,'plot')
% plotyy(x,y1,x,y2,'plot')表示:
2.绘制羽列图。
U=[-90:5:90]*pi/180;
%建立等间距数据
V=2*ones(size(U));
%根据U建立数据
[U,V]=pol2cart(U,V);
%转换数据为直角坐标形式
feather(U,V)
3.绘制火柴杆图。
x=[1 1.5 2;3 3.5 4;5 5.5 6];
y=[4 3 2;4 8 9;2 7 3];
stem(x,y,'fill')%fill意思是“实心点”
4.绘制y=sinx在[0,2*pi]上的误差图。
x=[0:pi/20:2*pi];
y=sin(x);
E=std(y)*ones(size(x));
%条形控制
errorbar(x,y,E)
5.建立矩阵
eye(4) % 单位矩阵
m=1,n = 2
zeros(m,n) % 产生0矩阵
ones(m,n) % 产生幺矩阵
rand (m,n) % 产生随机元素的矩阵
size([1 2 3;3 4 3]) % 返回矩阵的尺寸。
length([1 2 3;3 4 3]) % 返回向量的长度。
6.灰色预测
例2:下面以某公司收入预测问题为例介绍灰色预测的MATLAB实现过程。
已知某公司1999-2008年的利润为(单位:元/年):[89677,99215,109655,120333,135823,
159878,182321,209407,246619,300670]
现在要预测该公司未来几年的利润情况。
分析:首先说明下,在建立灰色预测模型之前,需先对原始时间序列进行数据处理,经过数据处理后的时间序列即称为生成列。灰色系统常用的数据处理方式有累加和累减两种。其实灰色预测的思路非常简单,就是通过一组数据序列进行累加建立的线性微分方程,其中系数便为发展系数与灰色作用量,那么只需要求参便可以预测未来值,这里采用了对累加数据进行均值生成矩阵向量,采用最小二乘法即可,且最后作残差处理,便可建立,具体程序见如下:
clear
syms a b;
c=[a b]';
A=[89677,99215,109655,120333,135823,159878,182321,209407,246619,300670];
B=cumsum(A); % 原始数据累加
n=length(A);
for i=1:(n-1)
C(i)=(B(i)+B(i+1))/2; % 生成累加矩阵
end
% 计算待定参数的值
D=A;D(1)=[];
D=D';
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*D;
c=c';
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1999:2008;
t2=1999:2018;
G
plot(t1,A,'o',t2,G) %原始数据与预测数据的比较
xlabel('年份')
ylabel('利润')