How to implement the arguments validation in a function correctly?
Mostrar comentarios más antiguos
Hello!!
I am writing a code for neural networks where the user can choose if he wants to use a filter, how many layers, the activation functions to use, etc. I wanted to set an argument validation so the only options the user can choose are already defined. I tried to write it this way but I always get an error. Any sugestion on how to fix it? Thank you!
The error i get is the following:
>> Error using cell/ismember
Input A of class double and input B of class cell must be cell arrays of character vectors, unless one is a character vector.
Error in mustBeMember (line 14)
if ~all(ismember(A, B), 'all')
Error in main (line 12)
nLayers (2,:) double {mustBeMember(nLayers,{1,2})}
>>
function main(filter,nLayers,activFunction1,activFunction2,softmax,testOrTrain)
arguments
filter (1,:) string {mustBeMember(filter,{'no','AM','BP'})}
nLayers (2,:) double {mustBeMember(nLayers,{1,2})}
activFunction1 (3,:) string {mustBeMember(activFunction1,{'-','hardlim','purelin','logsig'})}
activFunction2 (4,:) string {mustBeMember(activFunction2,{'hardlim','purelin','logsig'})}
softmax (5,:) string {mustBeMember(softmax,{1,2})}
testOrTrain (6,:) string {mustBeMember(testOrTrain,{'train','test'})}
end
... % function itself
end
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Deep Learning Toolbox en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!