如何在matlab中将数字数组转换为单个字符串

时间:2014-02-26 08:12:55

标签: arrays string matlab

如何将数值数组转换为单个字符串,其中数组将用逗号分隔?

(例如将A = [1 2 3]转换为字符串' 1,2,3')

此外,如果矩阵A包含for循环中的变量,是否有任何方法可以应用上述相同的内容?

(例如

表示i = 1,10  A(i)= [1 1 i + 1]; 端

随着变量i的变化,我需要获得一个字符串' 1,1,i + 1'

非常感谢!

4 个答案:

答案 0 :(得分:1)

有一个num2str()函数

>> test =[123 124 125] % 3 element vector
test =

   123   124   125

>> num2str(test) % 1 element string
ans =

123  124  125

以及编写ASCII delimited files

的函数 使用str2num函数可以轻松地反转该过程,正如dan指出的那样

答案 1 :(得分:0)

我认为你需要这个:

for i=1:10 
    disp(['1,1,',num2str(i+1)])
end

注意:尽量避免使用'i'作为迭代变量。

输出:

1,1,2
1,1,3
1,1,4
1,1,5
1,1,6
1,1,7
1,1,8
1,1,9
1,1,10
1,1,11

答案 2 :(得分:0)

for i=1:10 
    s = sprintf('%d,', A);
    S{i} = s(1:end-1);
end

答案 3 :(得分:0)

函数mat2str就是这样做的:

>> A = [1 2 3];
>> mat2str(A)
ans =
[1 2 3]