2

配列内の数値のヒストグラムを作成しようとしています。これを行うためにMatlabを使用しています。ssh 経由で接続しているため、Linux コンピューターのターミナルでのみ Matlab を使用できます。配列内のデータのヒストグラムを作成し、.png として保存しようとしています。これを保存するには、関数を使用する必要があることを知っていprintます。これまでのところ、私の試みは次のとおりです。

h=hist(array) 
print(h,'-dpng','hist1.png')

として定義された変数がないことを教えてくれましたが-dpng、そのポイントはファイルタイプを指定することだと思いました。

次に、を削除して、次の-dpngように実行しました

print(h,'hist1.png')

「ハンドルはスカラー、ベクトル、またはベクトルのセル配列でなければなりません」と言われました

この時点で、私は次に何をすべきかよくわかりません。このヒストグラムを .png ファイルに出力する方法を誰かに教えてもらいたいです。ありがとうございました。

4

4 に答える 4

6

histFigure ハンドルを返さない場合は、次のようなことができます。

h = figure;
hist(array);
print(h, '-dpng', 'hist1.png');

ヒストグラムを保存します。

于 2013-03-29T19:56:25.543 に答える
2

関数 hist(array) はそれ自体でヒストグラムをプロットします。出力を変数に割り当てると、プロットのハンドルではなく、配列のビニングされた値が返されます。

f = figure;
hist(array)
saveas(f,'hist.png')
于 2013-03-29T19:53:44.673 に答える
0

配列を csv ファイルに出力したい場合があります。

fid = fopen('file.csv','wt');
for i=1:size(arr)
    fprintf(fid, '%s,%d,%d\n','element number' ,i ,arr(i));
end
fclose(fid);

このリンクを参照してください。必要に応じて回答を変更できるはずです:セル配列を CSV ファイルに出力する ( MATLAB )

于 2013-03-29T20:02:23.617 に答える
0

現在の Figure 以外を印刷する場合を除き、Figure ハンドルを使用する必要はありません。デフォルトでは、現在の Figure のハンドルを返すものをprint使用します。gcf

したがって、次のことができます。

hist(array) 
print('-dpng','hist1.png')

-dpngおそらく引用符を 1 つ忘れて を使用したため、変数が定義されていないというエラーが発生しました-dpng'

于 2013-04-10T20:28:19.863 に答える