完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
clear;
clc; P=[0.501 0.504 0.489;0.601 0.554 0.489;0.601 0.653 0.49;0.702 0.803 0.551;0.702 0.903 0.652;0.852 1.003 0.652;0.852 1.073 0.752;0.952 1.103 0.752;0.952 1.233 0.802;1.052 1.252 0.802;1.151 1.357 0.802;1.151 1.613 1.001;1.301 1.702 1.001;1.301 1.872 1.101;1.451 2.082 1.101;1.451 2.052 1.251;1.652 2.142 1.251;1.652 2.252 1.401;1.851 2.312 1.401;1.851 2.401 1.551;2.051 2.504 1.551;2.051 2.702 1.8;2.201 2.832 1.8;2.201 2.952 1.951;2.301 3.051 1.951;2.301 3.201 2.151;2.501 3.251 2.151;2.7 3.501 2.301;2.951 3.501 2.301;2.951 3.8 2.901;3.201 3.8 2.901;3.4 4.151 3.3;3.75 4.4 4.1;4.45 4.4 4.1;]'; T=[0 0;50 0;50 5;100 10;100 15;150 15;150 20;200 20;200 25;250 25;300 25;300 35;350 35;350 40;400 40;400 45;450 45;450 50;500 50;500 55;550 55;550 65;600 65;600 70;650 70;650 75;700 75;750 80;800 80;800 85;850 85;900 90;950 100;1000 100;]'; net=newff(minmax(P),[5,2],{'tansig' 'purelin'},'trainscg'); net.trainParam.epochs=20000; net.trainParam.goal=1; net.trainParam.min_grad=0.1; net.trainParam.show=200; net.trainParam.time=inf; net=train(net,P,T); Y=sim(net,P); |
|
相关推荐
4个回答
|
|
clear;
clc; P=[0.501 0.504 0.489;0.601 0.554 0.489;0.601 0.653 0.49;0.702 0.803 0.551;0.702 0.903 0.652;0.852 1.003 0.652;0.852 1.073 0.752;0.952 1.103 0.752;0.952 1.233 0.802;1.052 1.252 0.802;1.151 1.357 0.802;1.151 1.613 1.001;1.301 1.702 1.001;1.301 1.872 1.101;1.451 2.082 1.101;1.451 2.052 1.251;1.652 2.142 1.251;1.652 2.252 1.401;1.851 2.312 1.401;1.851 2.401 1.551;2.051 2.504 1.551;2.051 2.702 1.8;2.201 2.832 1.8;2.201 2.952 1.951;2.301 3.051 1.951;2.301 3.201 2.151;2.501 3.251 2.151;2.7 3.501 2.301;2.951 3.501 2.301;2.951 3.8 2.901;3.201 3.8 2.901;3.4 4.151 3.3;3.75 4.4 4.1;4.45 4.4 4.1;]'; T=[0 0;50 0;50 5;100 10;100 15;150 15;150 20;200 20;200 25;250 25;300 25;300 35;350 35;350 40;400 40;400 45;450 45;450 50;500 50;500 55;550 55;550 65;600 65;600 70;650 70;650 75;700 75;750 80;800 80;800 85;850 85;900 90;950 100;1000 100;]'; A=length(P); B=length(T); K=randperm(34); input_train=P(:,K(1:20)); output_train=T(:,K(1:20)); input_test=P(:,K(21:34)); output_test=T(:,K(21:34)); %归一化 [inputn,inputps]=mapminmax(input_train); [outputn,outputps]=mapminmax(output_train); %初始化 net=newff(minmax(input_train),[5,2],{'tansig' 'purelin'},'trainscg'); net.trainParam.epochs=20000; net.trainParam.goal=0.00001; net.trainParam.lr=0.01; net.trainParam.show=200; %训练 net=train(net,inputn,outputn); %测试数据归一化 input_test=mapminmax('apply',input_test,inputps); %仿真 Y=sim(net,input_test); %反归一化 BPoutput=mapminmax('reverse',Y,outputps); figure(1) plot(BPoutput(1,:),'-*'); hold on plot(output_test(1,:),'-og'); figure(2) plot(BPoutput(2,:),'-*'); hold on plot(output_test(2,:),'-og'); for i=1:length(output_test) error1(i)=(output_test(1,1:i)-BPoutput(1,1:i))/output_test(1,1:i); end for i=1:length(output_test) error2(i)=(output_test(2,1:i)-BPoutput(2,1:i))/output_test(2,1:i); end fprintf('误差百分比:'); 100*error1 100*error2 |
|
|
|
我不明白你的数据是什么意思,似乎是拿P,输出T。但是你好像没有设置训练数据和检验数据,我就从你的数据随便提取了20组做训练,14组做检验。第一个变量输出在误差在1%以内,第二个在3%以内,拟合还是非常不错的。
|
|
|
|
误差百分比:
ans = Columns 1 through 11 -1.1352 -1.0017 -0.9081 0.0779 0.3184 0.8575 1.0305 0.9013 0.8924 0.9387 0.7171 Columns 12 through 14 0.7530 0.6731 0.7181 ans = Columns 1 through 11 2.8226 2.2337 2.4116 1.3889 1.0793 3.3518 2.9904 2.3706 2.3803 2.4548 2.3956 Columns 12 through 14 2.1753 2.1497 2.2052 |
|
|
|
不知道怎样发图片,总之执行程序就知道了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1807 浏览 1 评论
200圆!求助大佬给一份VSG并网和离网模式的simulink仿真
2079 浏览 0 评论
MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
2897 浏览 0 评论
3232 浏览 0 评论
4112 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 12:06 , Processed in 0.689121 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号