要素がスペースで区切られている 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