ANN Code問題?已回收
我本來是想要寫一個一對二輸出(一個Input兩個Output)的 ANN訓練程式
可是我只能寫出一個一對一的訓練程式,以下是我的程式他的輸出入是一個401*1的矩陣:
filename=input('Input the .SP file path : ','s');
fid = fopen(filename, 'r');
A=fscanf(fid,'%g');
B=reshape(A',3,[])';
freq=B(:,1);
S11=B(:,2);
face=B(:,3);
sp=[freq S11 face]; %s11
[ignore,p]=sort(rand([1,2526])); %亂數選取s11
newsp=sp(p,:);%亂數選取s11
newfreq=newsp(:,1); %把b分成矩陣行 frequency
newS11=newsp(:,2); %把b分成矩陣行 s11
newface=newsp(:,3); %把b分成矩陣行 face
infreq=newfreq'; %把newi轉置 frequency
onS11=newS11'; %把newo轉置 s11
onface=newface'; %把newi1轉置 face
%ANN訓練開始 s11
p = infreq;
t = onS11;
net=newff(minmax(p),[30,1],{'tansig','purelin'},'trainlm');
net.trainParam.show = 10000;
net.trainParam.epochs = 50000;
net.trainParam.goal = 1e-3;
net = init(net);
[net,tr]=train(net,p,t);
a = sim(net,p);
%ANN訓練開始 face
net=newff(minmax(p),[30,1],{'tansig','purelin'},'trainlm');
net.trainParam.show = 10000;
net.trainParam.epochs = 50000;
net.trainParam.goal = 1e-3;
net = init(net);
[net,tr]=train(net,p,t1);
a1=sim(net,p);
fclose(fid);
不知道各位高手有沒有更好的方法!謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.18.81
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章