gm灰色预测matlab代码,灰色预测gm(1,1)MATLAB代码

news/2024/7/5 20:01:58 标签: gm灰色预测matlab代码

clear

%原始数据输入;

x0=[3.936;4.575;4.968;5.063;5.968;5.507];

n=length(x0);

%由数列x0生成数列x1;

s=0;

for i=1:n

s=s+x0(i);

x1(i)=s;

end

%由数列x1生成矩阵C和A;

for i=1:(n-1);

A(i)=-(x1(i)+x1(i+1))/2;

end

A=[A'ones(n-1,1)];

for i=1:(n-1);

C(i)=x0(i+1);

end

C=C';

beta=inv(A'*A)*A'*C;

%计算出a和u;

a=beta(1);

u=beta(2);

%求出数列x1的预测值数列x2;

m=input('请输入预测的数目:')+length(x0);

for k=0:(m-1)

x2(k+1)=(x0(1)-u/a)*exp(-a*k)+u/a;

end

%求出原始数列x0的预测值数列x3;

x3(1)=x0(1);

for k=1:(m-1)

x3(k+1)=(1-exp(a))*(x0(1)-u/a)*exp(-a*k); end

x3

t0=1:length(x0);

t3=1:m;

plot(t0,x0,'*',t3,x3)


http://www.niftyadmin.cn/n/1325400.html

相关文章

C++:期末复习题(1)

解析:使用fstream类建立文件流必须定义打开方式,否则编译器无法判断该文件流是读还是写。 解析:

MySQL Community Server5.7.2社区免安装版win10配置安装教程

MySQL Community Server5.7.2免安装版配置教程 下载压缩包并解压 进入MySQL server的下载链接,根据电脑的型号下载好压缩包,下载好以后可以解压到一个文件夹,这里解压的路径是:D:Software\,得到一个解压以后的文件夹。…

php 数字金额 分隔符,PHP数字金额转大写简体,精确到元和分

PHP数字金额转大写简体,精确到元和分8个月前阅读 1053评论 0喜欢 0php/*** 将数值金额转换为中文大写金额* param $amount float 金额(支持到分)* param $type int 补整类型,0:到角补整;1:到元补整* return mixed 中文大写金额*/public function convertAmountToCn(…

C++:计算表达的问题、逻辑运算与位运算

算术运算 数的表示范围 中间结果溢出 浮点数的比较 #include<iostream> #include<cmath> using namespace std; int main() {double d1 123456789.9*9;double d2 1111111109.1; if ( d1!d2 ) cout << “Not same\n” ; else cout << “Same\n” …

《C++语言程序设计基础》学习之多态

多态&#xff0c;顾名思义就是操作接口&#xff0c;具有表现多种不同形态的能力&#xff0c;在不同的环境下&#xff0c;对不同的对象&#xff0c;具有不同的处理方式&#xff0c;多态实际上是通过绑定来实现的&#xff0c;所谓绑定就是将一个标志符名称&#xff0c;与一段函数…

python3写入文件,Python3写入文件常用方法实例分析

本文实例讲述了Python3写入文件常用方法。分享给大家供大家参考。具体如下&#xff1a;Created on Dec 18, 2012写入文件author: liury_lab# 最简单的方法all_the_text hello pythonopen(d:/text.txt, w).write(all_the_text)all_the_data babcd1234open(d:/data.txt, wb).wr…

C++:函数(参数传递、默认参数

函数 目录 函数基础 函数定义&#xff1a; 函数调用&#xff1a; 函数名(实参列表)&#xff1b; 函数原型&#xff1a; 形式&#xff1a; 作用&#xff1a; 参数传递 ​ 引用参数的意外副作用 如何同时返回多个数据 const形参和实参 数组参数 ​传递多维数组 参…

《C++语言程序设计基础》学习之异常处理

异常处理的思想与程序实现 异常处理的基本思想 ​ 异常处理的语法 ​ 处理除零异常 #include <iostream>using namespace std;int divide(int x, int y) {if (y 0)throw x;return x / y;}int main() {try {cout << "5 / 2 " << divide(5, 2) …