Publi

Texto personalizado en matlab

Cuando trabajamos con Matlab® a la hora de poner los datos de una variable en pantalla, basta con poner la variable (sin ; al final), pero si queremos escribir un texto cualquiera, debemos utilizar disp():

1
disp('Estoy escribiendo un mensaje en matlab');

Pero si queremos intercalar información o escribir nuestras variables de una forma más elegante, debemos utilizar sprintf(), se comporta como el sprintf() de C, y acepta sus \n, \t, %d, %f, %s… incluso podemos formatear la salida como veremos en el ejemplo. Para más información acerca de lo que podemos introducir en la función, es mejor acudir a help.

1
disp(sprintf('El número pi: %1.40f\n', pi));

Esta función combinada con disp(), como vemos arriba, trabaja muy parecido a printf() de C.
Pero,
¿qué hace sprintf() cuando en vez de un número le pasamos una matriz? Insertará todos los elementos seguidos, como si de un número muy largo se tratase.
¿cómo pongo un signo %? disp(sprintf(‘%%’));

También podría interesarte....

There are 5 comments left Ir a comentario

  1. Pingback: Bitacoras.com /

  2. George /
    Usando Google Chrome Google Chrome 35.0.1916.153 en Windows Windows 7

    Buenas he intentado ese codigo en matlab 2013 y me tira un error diciendo que no esta declarada la funcion sprintf
    Error using sprintf
    Function is not defined for ‘sym’ inputs.
    Les agraezco en lo que me puedan ayudar.

  3. Gaspar Fernández /
    Usando Mozilla Firefox Mozilla Firefox 30.0 en Linux Linux

    @George
    No he probado Matab R2013, pero creo que es más caprichoso con eso de los tipos de datos. Intenta, poner:

    disp(sprintf(‘El número pi: %1.40f\n’, char(pi)));

    a ver si lo hace bien. El caso es que pi es un objeto simbólico y no una cadena de caracteres que es lo que entiende sprintf.

  4. Maxanto /
    Usando Mozilla Firefox Mozilla Firefox 74.0 en Windows Windows NT

    disp([‘pi = ‘ num2str(pi)]);

Leave a Reply