Matlab で出力を実現するいくつかの方法 (disp 関数、fprintf 関数、print 関数)
テキスト、ファイル、プリントとして出力
1. 表示機能
変数の値を表示します。変数に空の配列が含まれている場合は、disp が返されますが、何も表示されません。
マトリックス
A = [1 0];
disp(A)
結果
文字列
S = 'Hello World.';
disp(S)
[] 演算子を使用して、複数の文字ベクトルを連結します。数値を文字に変換するには、num2str 関数を使用します。disp を使用して結果を表示します。
name = 'Ac';
age = 2;
X = [name,' will be ',num2str(age),' this year.'];
disp(X)
結果
2.fprintf関数
(1) データをテキストファイルに書き込む
複数の数値およびリテラル テキストを画面に出力します。
A1 = [8.2, 9900];
A2 = [8.1, 7.7 ; ...
8100, 7600];
formatSpec = 'X is %4.2f meters or %8.3f mm\n';
fprintf(formatSpec,A1,A2)
結果の
formatSpec 入力の %4.2f は、出力の各行の最初の値が浮動小数点数であり、フィールド幅が 4 桁 (小数点以下 2 桁を含む) であることを指定します。formatSpec 入力の %8.3f は、出力の各行の 2 番目の値がフィールド幅 8 桁 (小数点以下 3 桁を含む) の浮動小数点数であることを指定します。\n は新しい行を開始する制御文字です。
(2) 小数部を含む double 値を明示的に整数値に変換します。
a = [1.02 3.04 5.06];
fprintf('%d\n',round(a));
formatSpec 入力の %d は、ベクトルround(a)の各値を符号付き整数として出力します。\n は新しい行を開始する制御文字です。
(3) テーブルデータをテキストファイルに書き込む
指数関数の短いテーブルを exp.txt という名前のテキスト ファイルに書き込みます。
x = 0:.1:1;
A = [x; exp(x)];
fileID = fopen('exp.txt','w');
fprintf(fileID,'%6s %12s\n','x','exp(x)');
fprintf(fileID,'%6.2f %12.8f\n',A);
fclose(fileID);
3. 印刷機能
図の印刷または特定のファイル形式での保存
bar(1:10)
print