Как вы комбинируете переменные со строками в методе disp?

Я хочу распечатать некоторый текст, а затем переменную, но я не могу понять, как это сделать.

Вот что у меня на данный момент:

disp('Temperature is:');
disp(UU(90));
disp('After: ');
disp(timeInMinutes);
disp('minutes');

но я хотел бы, чтобы все это было в одном disp,

Я попытался использовать%f, где переменные должны быть, а затем поставить запятую и имя переменной в конце, а также: disp('text ' + variable + 'more text');

2 ответа

Решение

Вы можете объединить желаемый результат в одну строку внутри disp функция с использованием квадратных скобок [ ], Вам также нужно будет преобразовать ваши числа в строки, используя num2str функция.

Попробуй это:

disp(['Temperature is:' num2str(UU(90)) 'After: ' num2str(timeInMinutes) ' minutes']);

Вы также можете использовать эту функцию:

function superdisp(varargin)
    s= '';  
    for i=1:length(varargin)
        if isnumeric(varargin{i})
            s= [s num2str(varargin{i})];
        elseif ischar(varargin{i})
            s= [s varargin{i}];
        else
            error('Wrong argument!');
        end
    end
    disp(s);    % output the final string
end

Пример использования:

superdisp('pi= ',pi,' e=',exp(1))

Или вы можете использовать fprintf:

fprintf(1,'pi=%f e=%f\n',pi,exp(1))
Другие вопросы по тегам