Matlab - Leer cadena de carácteres internamente

   
Vista:

Leer cadena de carácteres internamente

Publicado por CGE (1 intervención) el 23/09/2009 14:28:50
Buenas tardes a todos,

Después del tiempo que llevo trabajando con MATLAB me ha surgido una duda muy tonta, espero me puedan ayudar.

Pongamos por ejemplo que tengo el siguiente código para una determinada función:

--------------------------------------
function prueba

nombre= 'solucion_1';

% Aquí iría las instrucciones de lo que la función hace, así que imaginaros que se encuentran aquí las diferentes declaraciones de variables y algunos bucles y condiciones etc.

save nombre.mat

-------------------------------------

Lo que pretendo, y no consigo, es que me guarde los resultados en un archivo que se llame solucion_1.mat pero no logro saber cómo hacer para que me lea la cadena de carácteres...Alguien me ayuda!???

Muchas gracias de antemano!

CGE
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Leer cadena de carácteres internamente

Publicado por Kike (304 intervenciones) el 23/09/2009 23:05:16
Según entendí yo, te gustaría guardar un *.mat con un nombre que el usuario asigne. Si es así, se hace de esta manera:

nombre = input('Digite un nombre para almacenar las variables: ', 's');

% Proceso
var1 = 10;
var2 = rand;

% Alcenar las variables
eval(sprintf('save %s', nombre));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Leer cadena de carácteres internamente

Publicado por CGE (1 intervención) el 24/09/2009 09:16:40
Muchísimas gracias por la respuesta pero no es exactamente lo que quería hacer. Lo que quiero conseguir es algo parecido sólo que la entrada no quiero que me la asigne el usuario cuando quiera ejecutar la función sino quien está desarrollando la propia función. Esto es, no quiero hacer una petición por pantalla simplemente, como tengo que ejecutar muchas veces esa función (que realiza simulaciones), pues que cada vez me guarde el archivo de resultados con un nombre diferente.
No sé si ahora me he explicado mejor...

Por ejemplo el dia 1 del mes X ejecuto la función simulacion.m
Previamente a escribir en la ventana de MATLAB "simulacion" para ejecutar la misma, quiero haber escrito en el código el nombre del archivo de resultados, por ejemplo:

%%%%%%%%%%%%%%%%%%

function simulacion

name='resultado_1_X';

%Proceso
var1 = 10;
var2 = rand;

save name % Y que aquí "name" me tome como nombre "resultado_1_X", pero no sé cómo hacer esto

%%%%%%%%%%%%%%%%%%


No quiero hacer una petición de usuario ni tampoco pasarlo como parámetro.

Muchas gracias de nuevo por la ayuda prestada!!!
CGE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Leer cadena de carácteres internamente

Publicado por CGE (1 intervención) el 24/09/2009 09:32:28
No se podría hacer algo parecido a:

--------------------------------------------------------
function simulacion

nombre= Solucion_1_X;

%Proceso
var1 = 10;
var2 = rand;

save (%d, nombre)
--------------------------------------------------------

Hacer algo así era lo que yo tenía en mente pero el save no me acepta eso!! =(

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Por fin lo logré!!!!

Publicado por CGE (1 intervención) el 24/09/2009 09:55:36
Era tan fácil como:

-----------
function simulacion

nombre= 'solucion_1_X';

%proceso

save (nombre) %Yo aquí lo ponía sin paréntesis, y por eso me tomaba "nombre" y no "solucion_1_X"!!!!!

-----------


Gracias de todos modos por la ayuda!!! =)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar