why do I get this error?

3 visualizaciones (últimos 30 días)
flashpode
flashpode el 16 de Sept. de 2021
Comentada: Image Analyst el 16 de Sept. de 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?

Respuesta aceptada

Image Analyst
Image Analyst el 16 de Sept. de 2021
AIS1 has 4 or fewer columns.
s = size(AIS1)
  4 comentarios
flashpode
flashpode el 16 de Sept. de 2021
Ah, okay. What I posted was to get the last four digits of each row of the string
Image Analyst
Image Analyst el 16 de Sept. de 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)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by