www.gusucode.com > nnet 工具箱 matlab 源码程序 > nnet/nndatafun/setsignals.m
function y = setsignals(x,ind,v) %SETSIGNALS Set neural network data signals. % % <a href="matlab:doc setsignals">setsignals</a>(X,IND,V) returns the X with the signals with indices IND % set to V, where X and V are NN data in either matrix or cell form. % % If X is a matrix IND may only be 1, which will return V, or [] which % will return X. % % This code sets signal 2 of cell array data: % % x = {[1:3; 4:6] [7:9; 10:12]; [13:15] [16:18]} % v = {[20:22] [23:25]} % y = <a href="matlab:doc setsignals">setsignals</a>(x,2,v) % % See also NUMSIGNALS, SETSIGNALS, CATSIGNALS, NNDATA, NNSIZE % Copyright 2010 The MathWorks, Inc. % Check arguments if nargin < 1, error(message('nnet:Args:NotEnough')); end wasMatrix = ~iscell(x); x = nntype.data('format',x,'Original data'); nntype.index_vector_unique('check',ind,'Indices'); v = nntype.data('format',v,'Set data'); % Check dimensions [N,Q,TS,S] = nnfast.nnsize(x); [Nv,Qv,TSv,Sv] = nnfast.nnsize(v); if (Qv~=Q) || (TSv~=TS) error(message('nnet:NNData:DimOriginalValueMismatch')); end if Sv ~= length(ind) error(message('nnet:NNData:NumIndicesSignalsMismatch')); end if any(ind < 1) || any(ind > S) error(message('nnet:NNData:IndicesOutOfBounds')); end if any(Nv ~= N(ind)) error(message('nnet:NNData:DimOriginalValueMismatch')); end % Set y = nnfast.setsignals(x,ind,v); % Matrix format if wasMatrix, y = y{1}; end