📄 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 + -