Plz, Edit the NEWFF according to the latest version of MATLAB.
조회 수: 1 (최근 30일)
이전 댓글 표시
when i simulate the below code it is showing some errors.
like obsolete way of using NEWFF.
what is the new model for it ?
Can some one edit the NEWFF according to the latest version.
- load data.txt
- P = data(1:15,1);
- T = data(16:30,1);
- a = data(31:45,1);
- s = data(46:60,1);
- [py, pys] = mapminmax(P');
- [ay, ays] = mapminmax(a');
- [ty, tys] = mapminmax(T');
- [sy, sys] = mapminmax(s');
- net = newff(minmax(py),[6 1], {'logsig','logsig'}, 'triangdm')
- net.trainParam.epochs = 3000;
- net.trainParam.lr = 0.5;
- net.trainParm.mc = 0.8;
- net = train(net,py,ty);
- y = sim(net,ay);
댓글 수: 6
Greg Heath
2013년 8월 13일
편집: Greg Heath
2013년 8월 13일
1. That is not a clear explanation AND it seems to have little to do with your original post.
2. Why are you posting an equation that
a. is obsolete
b. has inappropriate transfer functions
c. has a misspelled training function (to which you were alerted earlier)
3. If you have 2012a, why are you trying to use the obsolete newff?
4. Now it seems that you might want the simple classifier
output = hardlim(input-5663)
4. Please clarify.
a. Single output y(t) = ( 566x.xx or 0/1?)
b. Corresponding input y( t-d:t-1)
채택된 답변
Greg Heath
2013년 8월 11일
This is a Time-Series Problem that can be solved using NARNET with a feedback delay of 15.
help NARNET
doc NARNET
Search NARNET in the NEWSGROUP and ANSWERS
Thank you for formally accepting my answer
Greg
댓글 수: 0
추가 답변 (1개)
Greg Heath
2013년 8월 7일
if true
% code
end
clear all, clc
[ inputs, targets ] = simplefit_dataset;
P = inputs(1:2:end);
T = targets(1:2:end);
[ I N ] = size(P)
[ O N ] = size(T)
MSE00 = var(T,1) % 8.3328 Reference MSE
Neq = N*O % No. of equations = prod(size(T)
a = inputs(2:2:end);
s = targets(2:2:end);
% Nw = (I+1)*H+(H+1)*O % No. of weights = Nw
{Hub = -1+ceil( (Neq-O)/(I+O+1)) % 15 (Neq >= Nw)
Hmin = 0
dH = 2
Hmax =ceil(Hub/2)
Ntrials = 10
MSEgoal = MSE00/100
MinGrad = MSEgoal/10
rng(0)
j = 0
for h = Hmin:dH:Hmax
j=j+1
if h ==0
net = newff(P,T, []);
else
net=newff(P,T,h);
end
for i = 1:Ntrials
hidden = h
ntrials = i
net.trainParam.goal = MSEgoal;
net.trainParam.min_grad = MinGrad;
[ net tr Y E ]= train(net,P,T);
NMSE(i,j) = mse(E)/MSE00;
end
end
NMSEtst = mse(s-net(a))/var(s,1) %4.0567e-005
H = Hmin:dH:Hmax
NMSE=NMSE
댓글 수: 2
Greg Heath
2013년 10월 24일
Sorry I missed your comment. If you have any SPECIFIC questions on the code,
please post.
참고 항목
카테고리
Help Center 및 File Exchange에서 Sequence and Numeric Feature Data Workflows에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!