How extract the value in certain position for a loop in matlab?

조회 수: 4 (최근 30일)
DulceEien
DulceEien 2021년 8월 10일
편집: DulceEien 2021년 8월 10일
How can I the output in a vector, when I run it I'm getting a single number
ID =[2003;2201;3350;9123;8234;1234]
for i = 1:length(ID)
y(i) = num2str(ID)
out(i) = str2num(y(2))
end
I need the third position because that value will give me in another conditional the importance of that element
for i = 1:length(ID)
if out(i) == 0
EI(i) = 'Very high';
elseif out(i) == 1
EI(i) = 'High';
elseif out(i) == 2
EI(i) = 'Medium';
elseif out(i) == 3
EI(i)= 'Low';
end
end
I really appreciate your help

채택된 답변

Dave B
Dave B 2021년 8월 10일
I think what you're asking is for a vector with the second digit of the values in y?
Here's a fixed version of your code:
ID =[2003;2201;3350;9123;8234;1234];
for i = 1:length(ID)
y = num2str(ID(i));
out(i) = str2num(y(2));
end
disp(out)
0 2 3 1 2 2
Here's a better way:
out=double(extract(string(ID),2))';
disp(out)
0 2 3 1 2 2
  댓글 수: 1
DulceEien
DulceEien 2021년 8월 10일
편집: DulceEien 2021년 8월 10일
than you so much for your answer, it works

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by