How extract the value in certain position for a loop in matlab?
3 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Dave B
on 10 Aug 2021
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)
Here's a better way:
out=double(extract(string(ID),2))';
disp(out)
More Answers (0)
See Also
Categories
Find more on AI for Signals in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!