
正文
灰色模型java代码 灰色模型应用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
数学建模灰色预测程序代码?
这里写了四个函数,方便在Matlab里面调用,分别是GM(1,1),残差GM(1,1),新陈代谢GM(1,1),Verhust自己写得难免有所疏忽,需要的朋友自己找本书本来试验一下。。
Gm(1,1)
function [px0,ab,rel]=gm11(x0,number)
%[px0,ab,rel]=gm11(x0,number)
%px0为预测数列,rel为平均相对误差,rel为平均相对误差(为百分比)
%默认的number参数为原数组大小
if nargin==1 %对输入矩阵进行判断,如不是一维列矩阵,进行转置变换
number=max(size(x0));
end
n=max(size(x0)); %取输入数据的样本量
x1=zeros(size(x0));
for k=1:n
for i=1:k
x1(k)=x1(k)+x0(i); %计算累加值,并将值赋予矩阵be
end
end
z=zeros(size(x0));
for k=2:n
z(k)=0.5*(x1(k)+x1(k-1)); %计算数据矩阵B的第一列数据
end
y=x0';
y(1)=[];
b(:,1)=-z';
b(:,2)=1;
b(1,:)=[];
ab=inv(b'*b)*b'*y; %计算参数 矩阵
a=ab(1);
b=ab(2);
px0(1)=x0(1);
%求还原值系列
for k=1:number-1
px0(k+1)=(1-exp(a)) * ( x0(1)-b/a ) * exp(-a*k);
end
temp=px0(1:n);
x0;
temp=(temp-x0)./x0; %相对误差
temp(1)=[]; %删除第一个为零的误差
temp=abs(temp);
rel=sum(temp)/(n-1)*100;
残差Gm(1,1)
function [px0,ab,rel]=ccgm11(x0,number)
%[px0,ab,rel]=gm11(x0,number)
%px0为残差预测数列,ab为求得的系数,rel为平均相对误差(为百分比)
%默认的number参数为原数组大小
if nargin==1
number=max(size(x0));
end
n=max(size(x0)); %数组大小..
[px0,ab,rel]=gm11(x0,number);
wucha=x0-px0(1:n);
i=n;
%求后面的同号的数目.
while(wucha(i)*wucha(i-1)0 i=2)
i=i-1;
end
start=i;
length=n-i+1;
new=wucha(start:n);
if length=4
pwucha=gm11(new);
px0(start:n)=px0(start:n)+pwucha
clear wucha;
wucha=px0-x0;
wucha=wucha./x0; %相对误差
wucha=abs(wucha);
rel=sum(wucha)/(n-1)*100;
end
verhust
function [px0,ab,rel]=verhust(x1,number)
%[px0,ab,rel]=verhust(x0,number)
%px0为预测数列,rel为平均相对误差,rel为平均相对误差(为百分比)
%默认的number参数为原数组大小
if nargin==1
number=max(size(x1));
end
n=max(size(x1));
x0(1)=x1(1);
for k=2:n
x0(k)=x1(k)-x1(k-1);
z(k)=0.5*(x1(k)+x1(k-1));
end
x0;
z;
B=[-(z(2:n))' (z(2:n).^2)'];
B;
Y=(x0(2:n))';
Y;
ab=inv(B'*B)*B'*Y;
a=ab(1);b=ab(2);
for k=1:number
px0(k)=(a*x1(1))/(b*x1(1)+(a-b*x1(1)).*exp(a*(k-1)));
end
temp=px0(1:n);
x1;
temp=(temp-x1)./x1; %相对误差
temp(1)=[]; %删除第一个为零的误差
temp=abs(temp);
rel=sum(temp)/(n-1)*100;
新陈代谢Gm(1,1)
function [px0,ab,rel]=xcdxgm11(x0,number,step)
%[px0,ab,rel]=xcdxgm11(x0,number,step)
%x0为原系列,number为要预测的数目,step为基本步长
%px0为预测数列,rel为平均相对误差,rel为平均相对误差(为百分比)
%默认的number参数为原数组大小
%模型假设预测的数据和原始数据都要大于等于5
if nargin==1
number=max(size(x0));
step=max(size(x0));
end
if nargin==2
step=max(size(x0));
end
n=max(size(x0));
if nstep | n5
error('此模型要求至少有五个原始数据,并且原始数据个数要大于新陈代谢的步长.');
end
[px0,ab,rel]=gm11(x0,n);
last=n;
x0;
px0;
while lastnumber
begin=last-step+1;
temp=px0(begin:last);
temp=gm11(temp,step+1);
last=last+1;
px0(last)=temp(step+1);
end
相关问答
Q1: Matlab实现或者java编程实现 神经网络 灰色模型预测
灰色预测模型为GM(1,1)
灰参数a和u的值:
a=-0.0323252892223847 u=14042.3315313962
原始序列预测值:
13205 14705 15188 15687 16203 16735 17285 17853 18439 19045
累加序列预测值:
14705 15188 15687 16203 16735 17285 17853 18439 19045 19671
级比值:
0.933017734755882 0.991731483427931 0.906095238095238 0.951546640889319 0.951264367816092 0.952798160113898 0.980668027064762 0.994977559307544 1.07637451115712
相对误差值:
0 3.90438540431923 6.43063985387993 0.395441255218115 2.10782203579584 3.81930406598348 5.34849588953024 4.12878515843797 1.47641388551927 0.5323261370569
2013-2017年的预测值
2013 20317.4561851648
2014 20984.954243779
2015 21674.381900971
2016 22386.4596192006
2017 23121.9315305897
Q2: matlab中灰色模型新陈代谢模型的代码
result(i) = gm11(x0,1); % 将预测一期的结果保存到result中,这段代码总是有错误提示。其原因是题主缺这个 gm11() 灰色模型自定义函数。解决方法,下载或求助这个函数文件。
Q3: java color
java color是什么灰色模型java代码,让灰色模型java代码我们一起了解一下?
Color类是用于定义颜色,java.awt.Color中提供了13个预定义灰色模型java代码的常量用来表示13个的标准颜色,是通过对红、绿、蓝这三种基色颜色的调整得出其它各种颜色,这三种基色的值范围为0~255。
java.awt.Color中提供的13个的标准颜色都是哪些?
1、public static final Color white 白色。
2、public static final Color light_Gray 浅灰色。
3、public static final Color gray 灰色。
4、public static final Color dark_Gray 深灰色。
5、public static final Color black 黑色。
6、public static final Color red 红色。
7、public static final Color pink 粉红色。
8、public static final Color orange 桔黄色。
9、public static final Color yellow 黄色。
10、public static final Color green 绿色。
11、public static final Color magenta 品红色。
12、public static final Color cyan 青色。
13、public static final Color blue 蓝色。
我们都知道,java中颜色的String和Color对象之间是可以互相转换的,该如何操作?
示例代码如下灰色模型java代码: package org.signsmile; import java.awt.Color; public class ColorConverter {undefined public static Color String2Color(String str) {undefined int i = Integer.parseInt(str.substring(1),16); return new Color(i); } public static String Color2String(Color color) {undefined String R = Integer.toHexString(color.getRed()); R = R.length()
灰色模型java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于灰色模型应用、灰色模型java代码的信息别忘了在本站进行查找喔。






