web-dev-qa-db-ja.com

MATLABコンソールの出力

x」およびx=5という変数があったとします。

やりたいこと:

disp('x is equal to ' + x +'.');

そのコードを印刷させる:

xは5です。

これは私がJavaで物事を行うのに慣れている方法なので、それらはMATLABでこれを行う同様の方法でなければなりません。

ありがとう

25
JJJ

dispを使用する場合は、次のように表示する文字列を作成できます。

disp(['x is equal to ',num2str(x),'.'])

私は個人的にfprintfを使用することを好みます。これは次の構文を使用します(そしてxの値のフォーマットを制御できます)

fprintf('x is equal to %6.2f.\n',x);

もちろん、xを文字列として指定し、dispと同じ出力を取得することもできます(改行するか、いくつか改行してください)。

fprintf('x is equal to %s\n',num2str(x))
68
Jonas

matlabでいくつかのスカラー変数を出力するのは面倒です(上記の回答を参照)。検索パスに次のような関数を含めると役立ちます。

function echo(varargin)
str = '';
for k=1:length(varargin)
    str = [str ' ' num2str(varargin{k})];
end 
disp(str)
1
johannes_lalala

disp()内にsprintf()をネストするだけです。

    disp(sprintf("X is equal to %d.",x));
0
Sir_Zorg