Say I had a variable called "x" and x=5.

I would like to do:

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

and have that code print:

x is equal to 5.

This is how I am used to doing things in Java, so their must be a similar way to do this in MATLAB.

Thanks

3 Answers

If you want to use disp, you can construct the string to display like so:

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

I personally prefer to use fprintf, which would use the following syntax (and gives me some control over formatting of the value of x)

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

You can, of course, also supply x as string, and get the same output as disp (give or take a few line breaks).

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

printing out a few scalar variables in matlab is a mess (see answer above). having a function like this in your search path helps:

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

just nest a sprintf() inside the disp().

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy