导航→ | 『Matlab视频下载』 | 『Matlab研讨会』 | 『Matlab书籍购买』 | 『生活百宝箱』| 捐助论坛,在线获取M币 | 『联系我们』
新手必读 | 论坛下载指南论坛热心会员访谈 | 12月热心会员IE8会员贴图帮助 | RSS订阅帖子
 
 
 
发新话题
打印

Matlab中文论坛官方QQ交流群,欢迎加入

本主题由 math 于 2009-6-22 14:07 解除高亮
申请加入。等待中。。
点击这里,看看谁在分享知识吧....

再多申请几个群吧

这么几个群哪里够啊!
声请加入了,请批准。。。。

求助高人看看程序

我编了一个matlab程序,运行结果不是很理想,检验数据的误差很大,想请高手指点指点。另外我想a和t1n的线条图,该怎么编程?计算误差怎么不是一个向量,好像是一个值。

close all
clear
clc
%BP建模
%原始数据归一化
%CO2
p=[64513.10            56484.00        90.70        12.56        51.41;       
68132.80            60487.30        92.86        12.03        50.83;       
72042.60     62051.70        93.96        11.84        50.32;       
76094.90            66410.90        95.33        11.44        55.84;       
79581.30            70834.80        98.61        11.45        69.18;       
82811.50            72857.40        99.11        11.16        86.52;       
85892.40            75121.80        100.28        10.91        77.59;       
90995.30            79502.70        103.46        9.60        58.02;       
92037.80            80137.30        107.59        8.41        53.21;       
94657.60     83818.20        106.81        6.68        46.13;       
99794.50     90992.90        107.10        5.33        30.14;       
104498.50   95424.40        101.27        4.67        30.77;       
108438.20   96959.70        100.61        4.59        25.41;       
111363.50   100312.50        101.34        4.47        41.40;       
115079.30   103345.40        100.11        3.03        45.34;       
119897.90   107013.00        97.79        2.73        38.84;       
122580.70   108897.20        98.81        2.51        40.26;       
126605.30   108433.60        99.06        2.38        51.42;       
130473.80   113030.00        99.93        2.36        63.36;       
134610.30   118732.10        102.19        2.39        77.87;       
138744.50   122270.30        103.02        2.61        111.29;       
147809.70   127283.10        105.37        2.50        212.96;       
151822.60   129990.20        104.38        2.43        158.39;       
158301.90   134876.00        104.43        2.35        164.40;       
164064.60   156612.30        106.13        2.30        145.68;       
169601.20   161929.20        102.80        2.10        144.75;       
176982.40   167323.30        99.19        2.03        150.05;       
185007.00   174408.30        99.41        2.14        120.27;       
194487.30   182471.10        97.03        2.12        125.14;       
204931.40   193377.70        95.43        2.03        117.00;       
213567.10   201345.30        95.07        2.34        103.72;       
221222.80   208614.00        93.29        2.55        107.26;       
229726.97   215401.20        91.68        2.24        116.87;       
236242.28   217318.00        93.94        2.32        99.58;       
241696.40   221420.70        94.21        2.31        89.88;]';       

t=[14261.20
16600.60
17671.30
22643.50
16256.70
18697.60
19148.10
24870.60
17501.30
19721.40
20372.50
26807.10
18789.70
20765.20
21859.30
28262.90
20647.00
23101.20
24339.30
31127.10
23299.50
25651.40
26867.30
33837.00
25375.70
27965.30
29715.70
37276.00
28861.80
31007.10
33460.40
42493.50
33420.60
36985.30
39561.70]';
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);

%建立相应的BP网络
n=6;
net=newff(minmax(pn),[n,1],{'tansig','purelin'},'trainlm');           
% 训练网络
net.trainParam.show=50;
net.trainParam.lr=0.05;
net.trainParam.mc=0.9;
net.trainParam.epochs=5000;
net.trainParam.goal=1e-3;

%调用TRAINGDM算法训练BP网络
NNTWARN OFF
net=train(net,pn,tn);
%对BP网络进行仿真
A=sim(net,pn);
%M=sse(E)
%N=mse(E)
w1=net.IW{1,1};
w2=net.LW{2,1};
b1=net.b{1};
b2=net.b{2};
%恢复被归一化的数据
[A1]=postmnmx(A,mintn,maxtn)

%检验数据
p1=[248027.80   224419.10        90.96        2.17        81.04;       
260551.60   231100.60        89.51        2.10        77.62;       
270672.90   235755.60        90.68        1.07        69.25;       
281897.60   242219.70        94.07        1.55        63.80;       
292899.20   248367.10        95.68        1.03        60.90;
306192.90   214600.50        94.84        1.74        87.04;       
317722.80   224757.00        93.31        1.97        93.13;       
327920.60   231644.30        93.80        2.43        96.82;       
338609.70   236076.60        95.68        2.74        119.39;       
358087.60   248331.68        97.27        2.35        172.27;]';       

t1=[26908.30
38763.60
42443.20
44370.70
57639.90
44419.80
49191.80
50958.00
67353.90
51353.90]';
[p1n,minp1,maxp1,t1n,mint1,maxt1]=premnmx(p1,t1);
%[p1n]=tramnmx(p1,minp,maxp);

a=sim(net,p1n);
Oi=tansig(w1*p1,b1);
Ok=purelin(w2*Oi,b2);
%恢复被归一化的数据
[a1]=postmnmx(a1n,mint1n,maxt1n);
%计算误差
TE=(t1n-a1n)/t1n;

%绘制误差图
plot(a,t1n);
申请加入simulink群
等待批准
不懂的很多,要学的更多

TOP

没有空位了.....啊

TOP

基础知识群再新建几个吧
期望中。。。。。。。。。。。。。。。。。。。

TOP

新人报道,希望能学到一些有用的东西

TOP

等待批准!!!!!!!!!!!!!

TOP

为什么不多建几个群呢,都满了

TOP

发新话题
最近访问的版块

欢迎发帖提问,对于书籍内容提问,作者给予解答

目录 样章 购买方式 目录 样章 购买方式 目录 样章 预定方式 目录 样章 预定方式