Matlab - Como leer una variable a partir de un String

 
Vista:

Como leer una variable a partir de un String

Publicado por Franco La Paz (4 intervenciones) el 23/08/2011 04:32:20
Hola, mi problema es el siguiente:
supongamos que realizo las siguientes instrucciones:

XX = [1 2 3; 4 5 6, 7 8 9];

SS = 'pepito.mat';

YY = 'XX';

save(SS) %(equivalente a "save pepito.mat")

clear all

y supongamos que ahora se me rompe la tecla "X".
¿Cómo hago a partir de los comandos de Matlab para recuperar la matriz XX?
(no vale copiar ni pegar)

Muchas gracias!
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como leer una variable a partir de un String

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 23/08/2011 15:34:18
Hola Franco La Paz

Te pregunta es muy elemental. Sugerencia: estudiar matlab basico. .
Solamente presiona varias veces las teclas de movimiento del cursor (teclas de control o teclas de desplazamiento) de hacia arriba varias veces(es decir para tu pregunta 4 veces) hasta encontrar la sentencia digitada ( http://joveninformatico.mendoza.edu.ar/partecla.htm) y listo ya tendras solucionado tu problema. Ademas funciona en general, para cualquier sentencia que hayas digitado con anterioridad en la sesion y no interesa cual es el nombre de la variable.


%=======================
>> XX = [1 2 3; 4 5 6; 7 8 9];
>> SS = 'pepito.mat';
>> YY = 'XX';
>> clear all
%======================


saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
[email protected]
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

Como leer una variable a partir de un String

Publicado por Franco La Paz (4 intervenciones) el 23/08/2011 18:01:19
No es ese escencialmente mi problema.
Disculpá que no me expresé bien con el ejemplo al intentar simplificar mi problema.
la cuestión es la siguiente:
yo tengo como 8 archivos .mat en el que tengo un vector por archivo con distintos nombres(entre otras cosas), por ejemplo:
en archivo_uno.mat tengo guardado el vector_uno=[x11:x1m];
en archivo_dos.mat tengo guardado el vector_dos=[x21:x2m];
...y así hasta el 8

lo que quiero es crear una función general con entradas f('archivo_i','vector_i',...) en la que pueda llamar al vector i a partir del string 'vectori'.
intenté con VectorAux = load('archivoi','vectori'), pero esta función solo me arroja un struct de dicho vector.
No se me ocurre como recuperar el valor a partir del struct o de otra forma alternativa.
Hasta ahora se me ocurrió hacer un procesador de texto en matlab donde me lea desde '[' hasta '];', pero supongo que debe haber una función para ello, pero no la he encontrado.

Muchas gracias igual por la mano.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como leer una variable a partir de un String

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 23/08/2011 18:05:39
hola Franco La Paz
Enviame tu avance a mi correo.
Estoy hacieno un trabajo en estos momentos y hacer todo el programa me va implicar el tiempo.
Pero explicame todo en detalle.


saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
[email protected]
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

Como leer una variable a partir de un String

Publicado por Franco La Paz (4 intervenciones) el 23/08/2011 20:43:09
Muchas gracias, al final después de tanto buscar encontré la función que buscaba.
todo se soluciona con YY=eval('XX'), la cual evalua lo que hay en la variable 'XX'.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como leer una variable a partir de un String

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 23/08/2011 20:48:46
Hola Franco La Paz
Serias tan amable de poner tu programa para poder ver que es lo haz hecho, de paso ayudas a otras personas que tengan problema en ese mismo punto.

saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
[email protected]
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

Como leer una variable a partir de un String

Publicado por Franco La Paz (4 intervenciones) el 23/08/2011 21:20:39
En sí todavía no hice el programa, se trata de una comparación de gráficos de datos empiricos con datos de distintos modelos, escribo un ejemplo de lo que sería:


(supongamos que Nombre=''pepito' y en el archivo pepito.mat tengo guardado el vector "vector_pepito = [...números...];")

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function [ ] = Comparar(vector_modelo,Nombre,n_figura)
%   Precondición: length(vector_pepito)==length(vector_modelo)
 
        str = horzcat(Nombre,'.mat') ;     % str = 'pepito.mat'
        load str                                          % load pepito.mat
        str_Vector = horzcat('vector_',Nombre) ;                % str_Vector = 'vector_pepito'
        vector_Y = eval(str_Vector);                                      % vector_Y = vector_pepito;
        l=length(vector_modelo);
        figure(n_figura)
        hold on
                  plot([1:l],vector_Y,'r')                                            % gráfico de los datos empíricos
                  plot([1:l],vector_modelo)                                       % gráfico de los datos del modelo
        hold off
end


Espero que sirva el ejemplo.
En todo caso explayo mejor
Saludos
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

Como leer una variable a partir de un String

Publicado por Juan (7 intervenciones) el 31/05/2013 16:27:35
Que arrogante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar