1

要素がスペースで区切られている 4225 要素のベクトルがあり、有向グラフのエッジ重み行列として MuPAD でこのベクトルを使用する必要があります。このベクトルを MuPAD でグラフ エッジの重み行列としてアクセスできるようにするには、その要素をコンマで区切る必要があります。要素数が膨大なので、一つ一つコンマで区切って書くのは時間の無駄です。matlabでこれを行う簡単な方法はありますか?

よろしくお願いします

4

2 に答える 2

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
于 2013-11-04T15:10:33.333 に答える
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

これをさらにカスタマイズしたい場合は、フォーマット文字列の使用の詳細について、この記事を参照してください。sprintf

于 2013-11-04T22:24:47.860 に答える