⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkarch.m

📁 bnn神经网络
💻 M
字号:
function [CheckMessage , CheckFlag] = checkarch(NetArch)
% CHECKARCH     Check network architecture for errors
% 
%   Version:    1.0
%   ----------------------------------
%   Amir Reza Saffari Azar, August 2004
%   amir@ymer.org
%   http://www.ymer.org
%   http://ee.sut.ac.ir/faculty/saffari/main.index

CheckMessage    = 'OK';
CheckFlag       = 1;

switch nargin
    case 0
        CheckMessage    = 'Nothing to check';
        CheckFlag       = 0;
        
    case 1
        %---neuron num
        if (NetArch.NeuronNum == 0)
            CheckMessage    = 'No neuron';
            CheckFlag       = 2;
        end
        
        %---checking input type
        if length(NetArch.InputType) ~= NetArch.InputNum
            CheckMessage    = 'Input types does not match with number of inputs';
            CheckFlag       = 3;
        end
        
        %---checking input weight
        if size(NetArch.InputWeight , 1) ~= NetArch.NeuronNum
            CheckMessage    = 'Number of neurons in input weight matrix does not match with number of neurons in network';
            CheckFlag       = 4;
        elseif size(NetArch.InputWeight , 2) ~= NetArch.InputNum
            CheckMessage    = 'Number of inputs in input weight matrix does not match with number of inputs in network';
            CheckFlag       = 5;
        end
        
        %---checking input delay
        if size(NetArch.InputDelay , 1) ~= NetArch.NeuronNum
            CheckMessage    = 'Number of neurons in input delay matrix does not match with number of neurons in network';
            CheckFlag       = 6;
        elseif size(NetArch.InputDelay , 2) ~= NetArch.InputNum
            CheckMessage    = 'Number of inputs in input delay matrix does not match with number of inputs in network';
            CheckFlag       = 7;
        end
        
        if ~isempty(find(NetArch.InputDelay < 0))
            CheckMessage    = 'Negative delays are not allowed, check input delay matrix';
            CheckFlag       = 8;
        end
        
        %---checking neuron weight
        if size(NetArch.NeuronWeight , 1) ~= NetArch.NeuronNum
            CheckMessage    = 'Number of neurons in neurons weight matrix rows does not match with number of neurons in network';
            CheckFlag       = 9;
        elseif size(NetArch.NeuronWeight , 2) ~= NetArch.NeuronNum
            CheckMessage    = 'Number of neurons in neurons weight matrix columns does not match with number of neurons in network';
            CheckFlag       = 10;
        end
        
        %---checking neuron delay
        if size(NetArch.NeuronDelay , 1) ~= NetArch.NeuronNum
            CheckMessage    = 'Number of neurons in neurons delay matrix rows does not match with number of neurons in network';
            CheckFlag       = 11;
        elseif size(NetArch.NeuronDelay , 2) ~= NetArch.NeuronNum
            CheckMessage    = 'Number of neurons in neurons delay matrix rows does not match with number of neurons in network';
            CheckFlag       = 12;
        end
        
        if ~isempty(find(NetArch.NeuronDelay < 0))
            CheckMessage    = 'Negative delays are not allowed, check neurons delay matrix';
            CheckFlag       = 13;
        end
        
end

return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -