在MATLAB中,用于使用字符串数组循环
问题描述:
已经提出了类似的问题,但仍在寻找解决方案。在MATLAB中,用于使用字符串数组循环
在MATLAB中,我的状态s的数组:
s = {'Indiana', 'Texas', 'Alabama'}
Time is a column vector: [120 30 20 40 50]'
Tornadoes is a column vector: [5 5 3 5 5]'
我需要为通过此数组S下面,而在所述第一线将每个串s中的下面的代码循环。
index = strcmpi(States,s)
Time = Time(index)
Tornadoes = Tornadoes(index)
h = scatter(Time,Tornadoes)
那么如何编写代码来推动s中的每个状态来为每个图产生一个图。
谢谢,阿曼达
答
它可以这么简单吗?
for ii = 1:numel(s)
index = strcmpi(States, s{ii})
Time = Time(index)
Tornadoes = Tornadoes(index)
figure % make sure you start a new figure each time...
h = scatter(Time,Tornadoes)
title(['Tornadoes in ' s{ii}])
end
+0
谢谢。我正在使用[]而不是{}。 – user1608954 2013-05-13 21:06:17
+0
单元格数组...需要括号{}。 – Floris 2013-05-13 21:08:06
答
如果您是通过在s
每个条目想要循环,你可以做
j = length(s)
for i = 1:j
x = Time(i)
y = Tornadoes(i)
h = scatter(x, y)
end
你的问题是不明确的,你是什么意思*” ......同时将S中的每个串在第一行“*。你可以循环使用'for ii = 1:numel(s)... end' – Oleg 2013-05-13 21:02:16