?? net_new.m
字號:
function y=net_new(x,a,b,d)
%功能:神經網絡計算
%由輸入(x)和網絡參數(a,b,d)計算網絡輸出
%x(nx,mx) 輸入信號向量 nx:樣本個數 2 mx:輸入節點數
%y(nx,1) 對應于樣本的網絡輸出結果
%a(na,ma),b(nb,mb) 隸屬函數中心值和寬度
%d(nd,md) 輸出層權值 nd=md=6
[nx,mx]=size(x);
[na,ma]=size(a);
y=zeros(nx,1);
if 2~=mx
disp('net1函數出錯,x列數應等于2');
return;
end
if na~=mx
disp('net1函數出錯,x列數應等于a的行數');
return;
end
[nb,mb]=size(b);
if nb~=mx
disp('net1函數出錯,x列數應等于b的行數');
return;
end
[nd,md]=size(d);
if (nd~=ma) or (md~=ma)
disp('net1函數出錯,d行列數應等于a的列數');
return;
end
for k=1:nx
O2=zeros(mx,ma);
for i=1:mx
for j=1:ma
temp=(x(k,i)-a(i,j))/b(i,j);
temp=-1*temp^2;
O2(i,j)=exp(temp);
end
end
temp1=0.0;
temp2=0.0;
for h=1:ma
for s=1:ma
temp1=temp1+O2(1,h)*O2(2,s)*d(h,s);
temp2=temp2+O2(1,h)*O2(2,s);
end
end
y(k,1)=temp1/temp2;
end
%把Result結果統一到0 5之間的自然數
% Rmin=min(y);
% Rmax=max(y);
% for k=1:nx
% tmpp=y(k,1)-Rmin;
% tmpp=tmpp/(Rmax-Rmin);
% tmpp=tmpp*5;
% y(k,1)=int8(tmpp);
% if tmpp<0.5
% y(k,1)=0;
%end
%end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -