1

次の形式で複数の配列をテキストファイルに保存する必要があります。

n = 2%配列の数

r = 3%最初の配列の行数
1 2 3%実際のデータ
4 5 6
7 8 9

r = 3%2番目の配列の行数
5 6 7%実際のデータ
1 2 3
7 8 9

手伝ってくれませんか

4

2 に答える 2

4

fprintfを使用します。配列を反復処理できるように、配列がセル配列に格納されている場合。

arrays = cell(N, 1); %A cell array of arrays

f = fopen('output.txt', 'w');
fprintf(f, 'n=%i\n', N);

for i=1:N
  rows = size(arrays{i}, 1);
  fprintf(f, '\nr=%i\n', rows);
  for j=1:rows
    fprintf(f, '%g ', arrays{i}(N, :));
    fprintf(f, '\n');
  end
end
fclose(f);
于 2012-04-11T16:25:46.237 に答える
1

これまでに何をしましたか?

原則として、この種のことについては、データをファイルに出力する関数fprintfと、関数に可変長の引数リストを提供できるようにするvararginが友達です。したがって、この種のタスクを処理する関数の適切なシグネチャは次のようになります。

function [output_args] = pretty_save_to_file(fName, varargin)

これfNameは、データを保存するファイルの名前であり、保存するvarargin行列の名前のプレースホルダーです。関数の面倒な詳細を入力したら、次のようなものを使用して呼び出すことができるはずです

pretty_save_to_file('output.txt', A, B, C) % prints matrices A, B, and C to output.txt

さらに、各マトリックスの行数を決定しようとしているので、サイズ関数を含む次のスニペットが役立つことがわかるでしょう。

[nrows, ncols] = size(A); % Stores the number of rows and columns of A in nrows, ncols

最後に、関数 fprintf を使用すると、行列の目的の書式を指定できます。

于 2012-04-11T16:27:32.457 に答える