Выход консоли MATLAB

Скажем, что у меня была переменная с именем "x" и x=5.

Я хотел бы сделать:

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

и напечатать этот код:

x равно 5.

Вот как я привык делать вещи на Java, поэтому они должны быть аналогичным способом сделать это в MATLAB.

Спасибо

Ответы

Ответ 1

Если вы хотите использовать 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))

Ответ 2

распечатка нескольких скалярных переменных в Matlab - беспорядок (см. ответ выше). наличие такой функции в вашем пути поиска помогает:

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

Ответ 3

просто вложите sprintf() в disp().

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