matlab的开方算法_matlab的一些常用算法

基于均值生成函数时间序列预测算法程序

1.

predict_fun.m

为主程序

;

2.

timeseries.m

seriesexpan.m

为调用的子程序

function

ima_pre=predict_fun(b,step)

%

main

program

invokes

timeseries.m

and

seriesexpan.m

%

input

parameters:

%

b-------the

training

data

(vector);

%

step----number

of

prediction

data;

%

output

parameters:

%

ima_pre---the

prediction

data(vector);

old_b=b;

mean_b=sum(old_b)/length(old_b);

std_b=std(old_b);

old_b=(old_b-mean_b)/std_b;

[f,x]=timeseries(old_b);

old_f2=seriesexpan(old_b,step);

%

f(f<0.0001&f>-0.0001)=f(f<0.0001&f>-0.0001)+eps;

R=corrcoef(f);

[eigvector

eigroot]=eig(R);

eigroot=diag(eigroot);

a=eigroot(end:-1:1);

vector=eigvector(:,end:-1:1);

Devote=a./sum(a);

Devotem=cumsum(Devote);

m=find(Devotem>=0.995);

m=m(1);

V1=f*eigvector';

V=V1(:,1:m);

%

old_b=old_b;

old_fai=inv(V'*V)*V'*old_b;

eigvector=eigvector(1:m,1:m);

fai=eigvector*old_fai;

f2=old_f2(:,1:m);

predictvalue=f2*fai;

ima_pre=std_b*predictvalue+mean_b;

1.

子函数

:

timeseries.m

%

timeseries

program%

%

this

program

is

used

to

generate

mean

value

matrix

f;

function

[f,x]=timeseries(data)

%

data--------the

input

sequence

(vector);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值