Arrays 在MATLAB中,用于字符串数组的循环

Arrays 在MATLAB中,用于字符串数组的循环,arrays,matlab,for-loop,Arrays,Matlab,For Loop,有人问过类似的问题,但我仍在寻找解决方案 在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) Tornad

有人问过类似的问题,但我仍在寻找解决方案

在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

如果您想循环浏览
s
中的每个条目,可以这样做

j = length(s)
for i = 1:j
    x = Time(i)
    y = Tornadoes(i)
    h = scatter(x, y)
end 

您的问题不清楚,您所说的“…将每个字符串放在s中的第一行”是什么意思。对于ii=1:numel,可以使用
循环。。。结束
谢谢。我使用的是[]而不是{}.Cell数组。。。需要
{}
括号。