why do I get this error?

조회 수: 3 (최근 30일)
flashpode
flashpode 2021년 9월 16일
댓글: Image Analyst 2021년 9월 16일
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?

채택된 답변

Image Analyst
Image Analyst 2021년 9월 16일
AIS1 has 4 or fewer columns.
s = size(AIS1)
  댓글 수: 4
flashpode
flashpode 2021년 9월 16일
Ah, okay. What I posted was to get the last four digits of each row of the string
Image Analyst
Image Analyst 2021년 9월 16일
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)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by