2011-10-05 20 views
16

Supongamos que tengo una variable llamada "x" y x=5.Salida de la consola MATLAB

me gustaría hacer:

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

y tienen ese código de impresión:

x es igual a 5.

Ésta es la forma en que estoy acostumbrado a hacer las cosas en Java, por lo su debe ser una manera similar de hacer esto en MATLAB.

Gracias

Respuesta

55

Si desea utilizar disp, se puede construir la cadena que se mostrará así:

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

yo personalmente prefiero usar fprintf, que utilizaría la siguiente sintaxis (y me da un cierto control sobre el formato del valor de x)

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

puede, por supuesto, también la oferta x como cadena, y obtener el mismo resultado que disp (dar o tomar unos saltos de línea).

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

imprimiendo algunas variables escalares en matlab es un desastre (ver respuesta arriba). tener una función como esta en su ruta de búsqueda ayuda:

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