why do I get this error?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
flashpode
le 16 Sep 2021
Commenté : Image Analyst
le 16 Sep 2021
Hey Thats the code I put and the error:
time1 = AIS1(:,end-4:end)
Index in position 2 is invalid. Array indices must be positive integers or logical values.
Could anybody tell me why?
0 commentaires
Réponse acceptée
Image Analyst
le 16 Sep 2021
AIS1 has 4 or fewer columns.
s = size(AIS1)
4 commentaires
Image Analyst
le 16 Sep 2021
If AIS1 is a simple string or character array, you'd do AIS1(end-4:end). If it's an array of strings, say 100 of them, and you wanted only the last 4 characters off each of them in a new 100 element long string where each string is only 4 characters one way is to do this:
% Make an array of strings.
AIS1 = ["1234567", "123456789"]
for k = 1 : numel(AIS1)
% Get this string as a character array.
thisString = char(AIS1(k));
% Get the last 4 characters of this string
% and put into the k'th cell of a cell array.
last4{k} = thisString(end-4:end);
end
% last4 is a cell array where each cell is a character array.
% Convert to a string array if desired:
last4 = string(last4)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!