我有一个包含 4225 个元素的向量,它的元素由空格分隔,我必须在 MuPAD 中使用这个向量作为有向图的边权重矩阵。为了使这个向量在 MuPAD 中作为图边权重矩阵可访问,它的元素应该用逗号分隔。由于元素的数量很大,因此在它们之间逐个写逗号是浪费时间。那么在matlab中有没有简单的方法来做到这一点?
非常感谢提前
我有一个包含 4225 个元素的向量,它的元素由空格分隔,我必须在 MuPAD 中使用这个向量作为有向图的边权重矩阵。为了使这个向量在 MuPAD 中作为图边权重矩阵可访问,它的元素应该用逗号分隔。由于元素的数量很大,因此在它们之间逐个写逗号是浪费时间。那么在matlab中有没有简单的方法来做到这一点?
非常感谢提前
这应该可以解决问题:
%// 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
这是一个仅使用的版本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
如果您希望进一步自定义,请参阅本文以获取有关使用格式字符串的详细信息。sprintf