% 计算平方欧氏距离
dgau2 = (CUV-Cgau)'*(CUV-Cgau) dt2 = (CUV-Ct)'*(CUV-Ct)
灰色预测[GM(1,1) ]MATLAB程序
% 本程序主要用来计算根据灰色理论建立的模型的预测值。 % 应用的数学模型是 GM(1,1)。 % 原始数据的处理方法是一次累加法。
y=input('请输入数据 ');%输入数据请用如例所示形式:[48.7 57.17 68.76 92.15] n=length(y); yy=ones(n,1); yy(1)=y(1); for i=2:n
yy(i)=yy(i-1)+y(i); end
B=ones(n-1,2); for i=1:(n-1)
B(i,1)=-(yy(i)+yy(i+1))/2; B(i,2)=1; end BT=B'; for j=1:n-1 YN(j)=y(j+1); end YN=YN';
A=inv(BT*B)*BT*YN; a=A(1); u=A(2); t=u/a;
t_test=input('请输入需要预测个数:'); i=1:t_test+n;
yys(i+1)=(y(1)-t).*exp(-a.*i)+t; yys(1)=y(1); for j=n+t_test:-1:2 ys(j)=yys(j)-yys(j-1); end x=1:n; xs=2:n+t_test; yn=ys(2:n+t_test); plot(x,y,'^r',xs,yn,'*-b'); det=0; for i=2:n
det=det+abs(yn(i)-y(i)); end
det=det/(n-1);
disp(['百分绝对误差为:',num2str(det),'%']); disp(['预测值为: ',num2str(ys(n+1:n+t_test))]);
Matlab二维绘图 2010-06-08 20:41
本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。
5.1 二维平面图形
5.1.1 基本图形函数
plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是
说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:
(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制
曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲 线,当x 为m× n 矩阵时,就由n 条曲线。
(2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。
(3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线。
例5.1.1 画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2)
图5.1.1 函数plot 绘制的正弦曲线
在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专
门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可
实现它们的功能。
表5.1.1 绘图参数表
色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式
y 黄- 实线. 点< 小于号 m 紫: 点线o 圆s 正方形 c 青-. 点划线x 叉号d 菱形 r 红- - 虚线+ 加号h 六角星 g 绿* 星号p 五角星 b 蓝v 向下三角形 w 白^ 向上三角形 k 黑> 大于号
例如,在上例中输入
>> plot(x,y1,'r+-',x,y2,'k*:')
则得图5.1.2
图5.1.2 使用不同标记的plot 函数绘制的正弦曲线
5.1.2 图形修饰
MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。
表5.1.2 图形修饰函数表
函数 含义
grid on (/off) 给当前图形标记添加(取消)网络 xlable(‘string’) 标记横坐标 ylabel(‘string’) 标记纵坐标 title(‘string’) 给图形添加标题
text(x,y,’string’) 在图形的任意位置增加说明性文本信息 gtext(‘string’) 利用鼠标添加说明性文本信息
axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值
例5.1.2 给例5.1.1 的图形中加入网络和标记。(见图5.1.3 和5.1.4) >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x);