Matlab - ¿Es posible crear variables simbólicas de manera automática?

 
Vista:
sin imagen de perfil

¿Es posible crear variables simbólicas de manera automática?

Publicado por jmps (5 intervenciones) el 05/03/2017 17:33:15
Hola,

Mi pregunta es si es posible crear un vector de variables simbólicas de manera automática, por ejemplo:

I=[I1 I2 I3 I4], En lugar de introducirlas manualmente para cada ejecución del programa.

Actualmente, lo hago a mano,
syms I1 I2 I3 I4
I=[I1 I2 I3 I4]


Un saludo,

Gracias de antemano.
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

¿Es posible crear variables simbólicas de manera automática?

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 05/03/2017 18:21:05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>> I=sym('I%d',[1,4])
I =
[ I1, I2, I3, I4]
>> whos I
  Name      Size            Bytes  Class    Attributes
 
  I         1x4               112  sym
 
>> I(1)
ans =
I1
>> whos ans
  Name      Size            Bytes  Class    Attributes
 
  ans       1x1               112  sym


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero/
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
sin imagen de perfil

¿Porqué me da error al leer archivos desde excel?

Publicado por jmps (5 intervenciones) el 09/03/2017 17:25:46
Muchas gracias Jose, me ha sido de gran ayuda tu comentario.

Por último una pequeña pregunta si no te importa. El programa me funciona perfectamente si introduzco los datos en Matlab, pero mi idea era la de leerlos desde una tabla Excel. Utilizo el comando xlsread y me lee los datos pero el programa se atasca al utilizar el optimizador de funciones "ga". ¿Sabe usted si ocurre algún problema derivado de la lectura de datos desde Excel que pueda corregir?

Gracias

Un saludo.
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

¿Porqué me da error al leer archivos desde excel?

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 09/03/2017 17:35:32
Tendria que subir su archivo excel y su codigo m que está ejecutando, para poder ver porque sucede. Sin esa informacion es dificil darte una respuesta precisa a su pregunta. Te puedo dar sugerencia para salir de paso y decir que te he contestado tu pregunta, pero quizás ese sugerencia en el fondo no te sirva y vamos a estar en repreguntas y preguntas.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero/
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
sin imagen de perfil

¿Porqué me da error al leer archivos desde excel?

Publicado por jmps (5 intervenciones) el 25/03/2017 10:03:19
Buenos días Jose,

Disculpa la tardanza en mi respuesta. Te envío el programa, tal y como me pediste. En el fichero parámetros piezas está comentado la lectura desde excel (que no funciona). Espero me puedas ayudar.

Gracias de antemano.

Un saludo.
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

¿Porqué me da error al leer archivos desde excel?

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 25/03/2017 13:09:08
%clear all
%Parámetros corte

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
%Introducir valores de las barras enteras
	%Introduce las medidas que tienes
	%MB=[14000,12000,10000,8000];
 MB=xlsread('Lectura_de_datos.xls','Hoja1','B3:E3')
	%Introduce la cantidad de barras de la medida correspondiente que tienes
	%CB=[3,2,1,1];  
CB=xlsread('Lectura_de_datos.xls','Hoja1','B4:E4')
 
%Introducir valores de las piezas 
	%Introduce las diferentes medidas de las piezas
	%M=[3000,2567,356,4628,3239];
     M=xlsread('Lectura_de_datos.xls','Hoja1','B6:F6')
	%Introduce la cantidad de piezas de cada medida que necesitas
	%C=[3,7,10,7,6];
C=xlsread('Lectura_de_datos.xls','Hoja1','B7:E7')
 
% Se crea un vector de incognitas de la dimensión de C
    I=sym('I%d',[1,length(C)]);
 
%Se crea el vector de barras
    n=1;
 
for i=1:length(CB)
    vector_barras(1,n:CB(i)+n-1)=MB(i);
    n=CB(i)+n  ;
end
 
vector_barras;

1
2
3
4
5
6
7
8
9
>> Parametros_piezas
MB =
       14000       12000       10000        8000
CB =
     3     2     1     1
M =
        3000        2567         356        4628        3239
C =
     3     7    10     7

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero/
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
sin imagen de perfil

¿Porqué me da error al leer archivos desde excel?

Publicado por jmps (5 intervenciones) el 25/03/2017 16:58:11
Disculpa, quizá no me he expresado bien.El problema ocurre al ejecutar el fichero main (es el que obtiene los valores que deseamos). Si en el fichero de "Parametros_piezas" leemos los valores desde excel no funciona, y al parar el programa manualmente se lee un error que procede, al parecer, de leer los datos desde excel.

En cambio, te invito a probarlo, en lugar de leer los datos desde excel lo hacemos desde matlab, incluso con los mismos parámetros, funciona correctamente.

Gracias de nuevo y disculpa por no expresarme correctamente.

Un saludo.
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