Matlab - ¿Cómo hacer un programa para leer un vector dependiente del tiempo?

 
Vista:

¿Cómo hacer un programa para leer un vector dependiente del tiempo?

Publicado por Ana (1 intervención) el 02/10/2015 21:57:49
Buen día, estoy trabajando con unas ecuaciones en Matlab, tengo una ecuación dónde una de las variables va cambiando su valor al ir leyendo un vector de datos que importo al workspace, había intentado poner lla ecuación (que se va a resolver por ode45) dentro de un contador que supuestamente estuviera cambiando el valor de la variable pero al parecer se quedó estancado, por eso quiero hacer el llamado a esa variable en una subfunción, pero no encuentro cómo hacerlo, me dijeron que hiciera que dependiera del tiempo, este es el código que tengo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function scobe1_02102015_1
        global out1
        tspan = [0:5:20];    %[0:5:1440];              
        x0 = [80; 0];
        [t,x] = ode45(@f,tspan,x0);
        out1= [t,x]
        assignin('base','out1',out1);
        figure
        subplot(2,1,1)
        plot(t,x(:,1),'k-');
        subplot(2,1,2)
        plot(t,x(:,2),'b-');
 
 function dxdt = f(t,x,uuno)
      dxdt = [
              (-4.9e-2-x(2))*x(1) + 4.42; %(1)
              -9.1e-2*x(2) + 8.96*U1  %(2)    AQUI 'U1' ES LA VARIABLE QUE MENCIONO QUE DEBE CAMBIAR
              ];

Estoy trabajando con un vector de ejemplo: U1=[0; 0.5; 1;1.5; 2] y también por eso tengo un tspan pequeño, ya que con este ejemplo funcione, voy a cambiarlo por el vector de los datos experimentales... ¿cómo puedo hacer que la variable vaya cambiando? 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

¿Cómo hacer un programa para leer un vector dependiente del tiempo?

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 03/10/2015 23:22:03
No es muy claro tu pregunta.
Pero te doy un avance de lo que entiendo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function scobe1_02102015_1
        global out1 U1
        tspan = 0:5:20;    %[0:5:1440];
        U1=[0; 0.5; 1;1.5; 2]
        x0 = [80; 0];
        [t,x] = ode45(@f,tspan,x0);
        out1= [t,x]
        assignin('base','out1',out1);
        figure
        subplot(2,1,1)
        plot(t,x(:,1),'k-');
        subplot(2,1,2)
        plot(t,x(:,2),'b-');
 
 function dxdt = f(t,x)
     global U1
      dxdt = [
              (-4.9e-2-x(2))*x(1) + 4.42; %(1)
              -9.1e-2*x(2) + 8.96*U1(2)  %(2)    AQUI 'U1' ES LA VARIABLE QUE MENCIONO QUE DEBE CAMBIAR
              ];


Saludos
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
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