Matlab - Funcionamiento bloque "from Workspace"

   
Vista:

Funcionamiento bloque "from Workspace"

Publicado por Manuel (7 intervenciones) el 18/05/2015 16:48:54
Buenas tardes, estoy desarrollando un programa en el entorno de simulink. Tengo hecha una prueba de la simulación con una entrada con un bloque 'constante'. Para asemejarla a la realidad me gustaría cambiar este bloque constante por un valor variable ( una columna de valores previamente cargados de excel a Matlab) con el bloque "from Workspace", ya que se encuentra en el entorno de workspace. Pero al introducir este bloque y ponerlo como entrada de mi simulación me da problema.

Cómo puedo solucionar este problema? Mi columna de datos debe tener una longitud determinada? Habría que poner un contador? Si es así, cómo puedo ponerlo.

PD: Disculpad que pregunte esto, pero es que por desgracia apenas he encontrado información que me ayude a solventar mi problema.
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 Royeth

Funcionamiento bloque "from Workspace"

Publicado por Royeth jesus.royeth@gmail.com (758 intervenciones) el 18/05/2015 18:39:39
bueno ahí en los mismos parámetros te dicen :


1
2
3
var.time=[TimeValues] %valores de tiempo 
 var.signals.values=[DataValues] %valores de la señal 
 var.signals.dimensions=[DimValues] %y dimensión 

porque como bien sabes son simulaciones dinámicas y requieres colocarle los datos en función del tiempo

tu variable se llamaría var (sale por defecto simin)

pero también puedes colocarlo en especie de matriz:
1
2
a=[1 2 3 4 5 6 7]';
 b=[2 4 6 8 10 12 14]';
tu bloque se llamaría [a,b]


espero y te sea de ayuda

https://www.facebook.com/royethmatlab
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

Funcionamiento bloque "from Workspace"

Publicado por Manuel (7 intervenciones) el 18/05/2015 19:33:35
Gracias por la respuesta, a ver. Yo tengo una matriz, el dato que quiero que sea mi entrada, de 59 filas y 1 columna. Entonces defino una variable para el tiempo:
tiempo=[0:(2*pi/59):2*pi]'

entrada= es una matriz(1:59,1)

no debería tener ningún problema para que en el bloque, donde pone "Data" ponga: [tiempo,entrada]

En "output data type" dejo por defecto: Inherit: auto




Se me ejecuta al menos el programa, pero no me da un resultado coherente.
Pero me da un resultado que no es coherente

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

Funcionamiento bloque "from Workspace"

Publicado por Royeth jesus.royeth@gmail.com (758 intervenciones) el 18/05/2015 19:59:26
tiempo tiene 60 datos , pero verifique el maximum step size y el tiempo de simulación se ajusten a tus datos
IMPORTAR DATOS DE MATLAB A SIMULINK
mira este ejemplo :

1
2
3
4
clear all
t=0:0.2:10; %el tiempo de simulación termina en 10 y el maximum step size es de 0,2
var.time=t';
var.signals.values=sin(t');


luego le coloco a mi bloque el nombre de var y ejecuto y aquí esta la respuesta:

10502023_10205222923865917_7469526579224225259_n

saludos.
https://www.facebook.com/royethmatlab
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Funcionamiento bloque "from Workspace"

Publicado por Manuel (7 intervenciones) el 20/05/2015 11:25:41
Muchas gracias por la ayuda, creo que está solucionado.
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