input parser on a cell array
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Paul Mitchell
am 27 Feb. 2023
Bearbeitet: Paul Mitchell
am 27 Feb. 2023
I have an input cell array example A = {'1234','4567','8901'}
I wish to user the input parser addParameter to check each entry is a string, and also each string is only composed of a set of 4 numbers
is there anyway in which to do this ? I have been searching Help and Answers but cannot find anything
Thank You
0 Kommentare
Akzeptierte Antwort
Rik
am 27 Feb. 2023
You can implement a custom validationFcn to check your requirements, as you can read in the documentation.
A = {'1234','4567','8901'};
fcn = @(A) ...
iscellstr(A) && ...
size(vertcat(A{:}),2)==4 && ...
all(isstrprop([A{:}],'digit'));
fcn(A)
fcn({'1abc','1234'})
3 Kommentare
Rik
am 27 Feb. 2023
Bearbeitet: Rik
am 27 Feb. 2023
From what I can tell from the documentation, a fail is interpreted as invalid input, so my function should work. Although it is indeed more elegant to have this function not fail.
If any of those chars is a column vector this code will still return an error.
So perhaps:
all(cellfun('size',A,2)==4) && all(cellfun('size',A,1)==1)
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!