我想要创建一个包含循环中字符串的向量。
在创建代码之后,我的输出应该是一个行矩阵,在一个循环中有30个元素,从'Mon‘开始,结束于'Tue’
我的向量应该在一个连续的循环中包含这七个元素“星期一”,“Tue”,“Wed”,“清华”,“Fri”,“Sat”,“Sun”
请给我一些想法
我的英语不好,因为它是我的第二语言,所以请尽量避免语法错误。
发布于 2015-05-26 08:20:37
不能将这些字符串包含在向量中,因为向量中的每个元素都是单一的整型,因此需要一个double
、integer
、character
等。您需要的是每个条目一组字符,如果需要,最好使用单元格数组。
您可以首先创建一个包含Mon
到Sun
的字符串单元数组,然后使用一个模运算符对其进行索引:
>> A = {'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'};
>> B = A(mod(0:29, numel(A)) + 1)
B =
Columns 1 through 9
'Mon' 'Tue' 'Wed' 'Thu' 'Fri' 'Sat' 'Sun' 'Mon' 'Tue'
Columns 10 through 18
'Wed' 'Thu' 'Fri' 'Sat' 'Sun' 'Mon' 'Tue' 'Wed' 'Thu'
Columns 19 through 27
'Fri' 'Sat' 'Sun' 'Mon' 'Tue' 'Wed' 'Thu' 'Fri' 'Sat'
Columns 28 through 30
'Sun' 'Mon' 'Tue'
我不会在这里使用循环,但是如果您坚持使用循环,则可以从1循环迭代到30循环,并使用相同的原则:
A = {'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'};
B = cell(1,30); %// Initialize empty cell array
for idx = 1 : 30 %// Going from 1 up to 30...
index = mod(idx-1, numel(A)) + 1; %// Determine the right place to index into A
B(idx) = A(index); %// Get corresponding day and place into output
end
你会得到和上面一样的答案。
https://stackoverflow.com/questions/30463847
复制相似问题