Nam*_*ame 29 arrays string matlab append
如何将字符串附加到Matlab数组列?
这是我想要做的一小段代码片段:
for_loop
filename = 'string';
name=[name; filename]
end
Run Code Online (Sandbox Code Playgroud)
Amr*_*mro 82
您需要使用单元格数组.如果预先知道迭代次数,我建议您预先分配:
N = 10;
names = cell(1,N);
for i=1:N
names{i} = 'string';
end
Run Code Online (Sandbox Code Playgroud)
否则你可以这样做:
names = {};
for i=1:10
names{end+1} = 'string';
end
Run Code Online (Sandbox Code Playgroud)
正如其他答案所指出的那样,使用单元格数组可能是最简单的方法,这将导致您的变量name是一个单元格数组,其中每个单元格元素都包含一个字符串.
但是,还有另一个使用STRVCAT函数的选项,它将垂直连接字符串.这将创建一个二维字符矩阵,而不是创建一个单元格数组,每行包含一个字符串.如果需要,STRVCAT会自动用空格填充字符串的末端,以正确填充矩阵的行:
>> string1 = 'hi';
>> string2 = 'there';
>> S = strvcat(string1,string2)
S =
hi
there
Run Code Online (Sandbox Code Playgroud)
如其他地方所述,在MATLAB中,数组中的所有字符串都必须具有相同的长度。要具有不同长度的字符串,请使用单元格数组:
name = {};
for i = somearray
name = [name; {string}];
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
96790 次 |
| 最近记录: |