如何在matlab中的每个元素后插入逗号?

时间:2013-11-04 14:48:29

标签: matlab

我有一个4225元素的向量,它的元素用空格分隔,我必须在MuPAD中使用这个向量作为有向图的边权重矩阵。为了使这个向量在MuPAD中可以作为图边缘权重矩阵访问,其元素应该用逗号分隔。由于元素的数量很大,因此在它们之间逐个编写逗号是浪费时间。那么在matlab中有没有简单的方法呢?

提前非常感谢

2 个答案:

答案 0 :(得分:3)

这应该是诀窍:

%// example vector
a = [4 5 6 7 8 9 10 11 12 13];

%// replace all consecutive spaces with a comma
aCSV = regexprep(num2str(a,17), '\s*', ',')

输出:

aCSV = 
    4,5,6,7,8,9,10,11,12,13

答案 1 :(得分:3)

以下是仅使用sprintf的版本:

v = [1 2 exp(1) 3 pi 4 5 realmax];
s = sprintf('%.17g,',v); % Up to 17 decimal places (double precision has about 16) 
s = s(1:end-1);          % Remove trailing comma

返回

s =

1,2,2.7182818284590455,3,3.1415926535897931,4,5,1.7976931348623157e+308

如果您希望进一步自定义格式字符串,请参阅this article,了解有关使用sprintf格式字符串的详细信息。