rgb转yuv422 matlab,求教Matlab图像RGB转YUV

首先多谢各位高手帮忙了,因为是毕业论文题目,确实很急...

我是用2009年1月-2010年9月这21个月的

中国GDP、CPI、货币供应量M1、进出口差额

美国GDP、CPI、货币供应量M1、进出口差额

这8个因素的每个月的样本值,和每个月相应的人民币美元均价汇率作为目标来训练网络,

来预测2009年10月到2011年1月这4个月的汇率。

但像最下面那样编完代码,预测的结果误差却很大,

实际值是 6.6732    6.6558    6.6515    6.6027

预测值是6.8208    6.8261    6.8228    6.8292

感觉完全没有参考性啊...

麻烦各位大师帮帮看看代码,还有几个问题:

1、是不是样本集太小了?但是这几个数据非常难收集,我很多都是找新闻手算的,如果要找这8个数据的月度值,高手们有什么好方案吗?或者有这类数据现成的的库文件、Excel都行。

2、是不是汇率预测如果不用时间序列的话误差都很大?

说明一下代码的参数,

Inputtrain是学习输入的8×21矩阵,按行依次是

中国GDP、CPI、货币供应量M1、进出口差额

美国GDP、CPI、货币供应量M1、进出口差额

Inputtrain_NORn是归一化的学习输入矩阵

相应的,

Outputtrain是学习的目标向量,也就是实际的汇率值,

Outputtrain_NORn是归一化的学习目标向量。

Inputtest是测试输入矩阵,Inputtest_NORn是归一化的测试输入矩阵

Outputtest是测试目标向量,也就是测试的实际汇率值,

Outputtest_NORn是相应的归一化向量。

完整代码(Matlab7编写):

function []=Statistics()

%%%学习数据归一化过程%%%

%clc

%format long

r1=21;

r2=4;

Inputtrain=[16436.29,16436.29,16436.29,18529.26,18529.26,18529.26,19488.75,19488.75,19488.75,29383.94,29383.94,29383.94,20144.25,20144.25,20144.25,23065.75,23065.75,23065.75,23955,23955,23955;

1.0+100,-1.6+100,-1.2+100,-1.5+100,-1.37+100,-1.67+100,-1.8+100,-1.2+100,-0.8+100,-0.5+100,0.6+100,1.9+100,1.5+100,2.7+100,2.4+100,2.8+100,3.1+100,2.9+100,103.3,103.5,103.6;

165214.34,166149.6,176541.13,178213.57,182010.87,193138.15,195889.27,200394.83,201708.14,207545.74,212493.18,220004.47,229588.98,224286.95,229397.93,233909.76,236497.88,240580.00,240664.07,244340.64,243821.90;

391.07,47.83,185.62,131.35,133.89,83.3,106.3,157,129.2,239.8,190.9,184.4,141.6,76.13,-72.4,16.8,195.3,200.3,287.3,200.3,168.8;

8723.92,8723.92,8723.92,8636.69,8636.69,8636.69,8897.27,8897.27,8897.27,9039.63,9039.63,9039.63,9014.81,9014.81,9014.81,9123.5625,9123.5625,9123.5625,9208.69,9208.69,9208.69;

100.3,100.4,99.9,100,100.1,100.7,100.1,100.4,100.2,100.2,100.2,100.2,100.2,100.0,100.1,99.9,99.8,99.9,100.3,100.3,100.1;

8309.8,8335.9,8469.5,8465.2,8444.1,8454.9,8419.9,8394.1,8399.4,8432.7,8506.3,8550.5,8476.3,8520.8,8583.0,8604.3,8586.5,8609.4,8579.9,8610.0,8651.2;

-360.67,-259.63,-275.8,-291.4,-248.6,-271.4,-330.9,-310.7,-351.6,-323.0,-352.7,-371.3,-346.5,-397.2,-395.1,-405.7,-419.96,-499.4,422.3,463.2,440.8];

for i1=1:8

Inputtrain_NORn(i1,:)=(Inputtrain(i1,:)-min(Inputtrain(i1,:)))/(max(Inputtrain(i1,:))-min(Inputtrain(i1,:)));

end

%Inputtrain_NORn

Outputtrain=[6.8382,6.8357,6.8341,6.8312,6.8245,6.8332,6.8320,6.8322,6.8289,6.8275,6.8274,6.8279,6.8273,6.8270,6.8264,6.8262,6.8274,6.8165,6.7775,6.7901,6.7462];

Outputtrainn=Outputtrain';

for k=1:1

Outputtrain_NORn(k,:)=(Outputtrain(k,:)-min(Outputtrain(k,:)))/(max(Outputtrain(k,:))-min(Outputtrain(k,:)));

end

%%%%测试数据归一化过程%%%%

Inputtest=[31937.25,31937.25,31937.25,24077.75;

104.4,105.1,104.6,104.9;

253300.00,259420.30,266621.30,263100.00;

271.5,229,130.8,64.5;

9212.69,9212.69,9212.69,9177.08;

100.2,100.1,100.5,100.4;

8706.8,8773.1,8853.4,8840.7;

382.3,382.4,402.6,469.7];

for i2=1:8

Inputtest_NORn(i2,:)=(Inputtest(i2,:)-min(Inputtest(i2,:)))/(max(Inputtest(i2,:))-min(Inputtest(i2,:)));

end

Outputtest=[6.6732,6.6558,6.6515,6.6027];

for h=1:1

Outputtest_NORn(h,:)=(Outputtest(h,:)-min(Outputtest(h,:)))/(max(Outputtest(h,:))-min(Outputtest(h,:)));

end

%Inputtrain_NORn

%Outputtrain

%Outputtrain_NORn

%Inputtest_NORn

%Outputtest

%Outputtest_NORn

%[pn,minp,maxp,tn,mint,maxt]=premnmx(Inputtrain_NORn,Outputtrain);

net=newff(minmax(Inputtrain_NORn),[5,1],{'tansig','purelin'},'trainlm');

net.trainparam.show=50;

net.trainParam.lr=0.01;

net.trainParam.epochs=1000;

net.trainParam.goal=1e-4;

[net tr]=train(net,Inputtrain_NORn,Outputtrain_NORn);

%[ptn,minpt,maxpt,ttn,mintt,maxtt]=premnmx(Inputtest_NORn,Outputtest);

a=sim(net,Inputtest_NORn);

figure(1);

X=1:8;

plot(a,'r*');

hold on;

plot(Outputtest_NORn,'bo')

title('o为真实值,*为预测值');

%for h=1:r2

%        Outputtest_NORnn(1,h)=a(1,h)*(max(Outputtest(1,:))-min(Outputtest(1,:))+min(Outputtest(1,:)));

%end

%Outputtest

%Outputtest_NORnn

%a

end

感谢各位高手了!!!!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值