Matlab - Sistema de Ecuaciones Diferenciales Ordinarias (ODE45)

Поделиться
HTML-код
  • Опубликовано: 5 дек 2024

Комментарии • 30

  • @diegosopoderoso
    @diegosopoderoso Год назад +1

    Chica, gracias por explicarlo tan bien y tan sintetizado, y créeme es difícil que le comente a alguien porque lo haga bien, en verdad lo hiciste muy bien, la comunidad te lo agradece.

  • @lugarpe7245
    @lugarpe7245 3 года назад +3

    Que alegría de encontrar a gente que explique como tú, muchas gracias

  • @fragmentos591
    @fragmentos591 2 месяца назад

    Del presente al pasado, gracias, justo voy aprendiendo matlab

  • @nicolasinostrozabeltran3971
    @nicolasinostrozabeltran3971 Год назад +1

    Me encantó!!! Me has ayudado mucho a hacer una tarea!!!

  • @facelogintereslooked963
    @facelogintereslooked963 3 года назад +1

    Me resolviste muchas dudas en el video, muchas gracias.

  • @alejandrobastida7782
    @alejandrobastida7782 3 года назад +2

    Muchas gracias, te amo

  • @JCCA1951
    @JCCA1951 3 года назад

    Gracias por las explicaciones tan claras y concisas

  • @PraiseofDeathFanzine
    @PraiseofDeathFanzine 2 года назад

    Muchas gracias, me has salvado! Te amo 😂

  • @marianogh03
    @marianogh03 3 года назад +2

    Te amo

  • @fernandoguayasamin314
    @fernandoguayasamin314 3 года назад

    Muchas gracias!

  • @jesusaxelvelatorrecillas9543
    @jesusaxelvelatorrecillas9543 2 года назад +1

    Hola. Si el programa lo pongo en Octave este no me resuelve las "y" ¿Cual podría ser el problema?

    • @matesenminutos8351
      @matesenminutos8351  2 года назад +1

      Tienes que guardar la función en otro archivo
      Guarda lo siguiente como miODE.m
      %EDO
      function dy = miODE(t,y)
      dy(1) = y(2)+1;
      dy(2) = y(1)*y(2)-6;
      dy = [dy(1);dy(2)];
      end
      Luego, En otro script que guardes en la misma carpeta pero con otro nombre, podría ser Ejemplo.m escribe lo siguiente
      clc; clear;
      %Tiempo integración
      tspan = (0:0.1:5);
      %Condiciones Iniciales
      y0 = [1,0];
      %Solver
      [t,y] = ode45(@miODE,tspan,y0);
      %Graficar
      plot(t,y(:,1),'r'); hold on;
      plot(t,y(:,2),'b');
      legend('y1','y2'); xlabel('tiempo');
      ylabel('y');

    • @jesusaxelvelatorrecillas9543
      @jesusaxelvelatorrecillas9543 2 года назад +1

      @@matesenminutos8351 excelente, más tarde lo intento. Muchas gracias de antemano.

    • @matesenminutos8351
      @matesenminutos8351  Год назад +1

      ¿Te funcionó?

  • @josecarlosortizhernandez8870
    @josecarlosortizhernandez8870 3 года назад +1

    Hola, gracias por el video, ¿sabes por que motivo cuando corro un ejercicio de resolucion de ODE no avanza? no me grafica, y abre un nuevo script llamado ode45.m con lineas que van tipo :
    ...
    hmin = 16*eps(t);
    if isempty(htry)
    % Compute an initial step size h using y'(t).
    absh = min(hmax, htspan);
    if normcontrol
    rh = (norm(f0) / max(normy,threshold)) / (0.8 * rtol^pow);
    else
    rh = norm(f0 ./ max(abs(y),threshold),inf) / (0.8 * rtol^pow);
    end
    ...
    Y por ese motivo no se termina de ejecutar mi script, se queda en la funcion ode45, ya intente con distintas funciones, incluso con las de tu video, y me sigue saliendo lo mismo. No me marca error pero se abre ese otro script y no me deja continuar.

    • @matesenminutos8351
      @matesenminutos8351  3 года назад

      Hola José, me podrías enviar el código que no te corre por favor? Nuestro correo es: matesenminutos@gmail.com

  • @lizbethgonzalezquintero4198
    @lizbethgonzalezquintero4198 6 месяцев назад

    Una disculpa, este método se relaciona con Runge Kutta de 4to orden?

    • @matesenminutos8351
      @matesenminutos8351  6 месяцев назад

      Hola Liz 😊
      En este otro video te mostramos como implementar Runge Kutta de 4to orden.
      ruclips.net/video/qw7onY6YRG0/видео.html
      ¿Te refieres al ode45?
      En el blog que aquí te dejo puedes encontrar una buena discusión sobre el método utilizado. En particular... ode45 is a six-stage, fifth-order, Runge-Kutta method.
      blogs.mathworks.com/cleve/2014/05/26/ordinary-differential-equation-solvers-ode23-and-ode45/#:~:text=ode45%20is%20a%20six%2Dstage,order%2C%20Runge%2DKutta%20method.

  • @joffreveloz2410
    @joffreveloz2410 3 года назад

    Gracias

  • @patriciaastofuentes9369
    @patriciaastofuentes9369 2 года назад

    Buen día el programa si corre, pero solo hace la gráfica y no me sale los valores de los resultados. Por favor ayuda.

    • @matesenminutos8351
      @matesenminutos8351  2 года назад

      Hola hola, da doble clic en la variable que quieras ver en el workspace y vas a poder observar la tabla con los valores

  • @rosenrotcoyohuehuetzin7802
    @rosenrotcoyohuehuetzin7802 Год назад

    Pero la solución y1(t), y2(t) cómo quedarían?? Antes de graficar

    • @matesenminutos8351
      @matesenminutos8351  Год назад

      Ya que se resuelven numéricamente, lo que se obtiene es la matriz de dos columnas que contiene los valores de y1 y y2 en el intervalo de integración.
      Con éste método no se obtienen las funciones explícitas y1(t), y2(t).

  • @erickt.juarez4181
    @erickt.juarez4181 Год назад

    Hola, ¿Cómo es que puedo solucionar ?
    y'=1+y^2. y(0)=0
    y'=x/y. y(1)=3
    Por favor 🙏🏻

    • @matesenminutos8351
      @matesenminutos8351  Год назад +1

      Son dos ejercicios por separado, ¿cierto?
      Ambos ejercicios se pueden resolver en forma analítica y son relativamente sencillos, si los quires resolver numéricamente te dejo aquí el código para el primero:
      clc; clear;
      %Tiempo integración
      xspan = (0:0.1:1);
      %Condiciones Iniciales
      y0 = [0];
      %Solver
      [x,y] = ode45(@miODE,xspan,y0);
      %Graficar
      plot(x,y(:,1),'r'); hold on;
      legend('y'); xlabel('tiempo');
      ylabel('y');
      %EDO
      function dy = miODE(x,y)
      dy(1) = 1 + y(1)^2;
      dy = [dy(1)];
      end

    • @erickt.juarez4181
      @erickt.juarez4181 Год назад

      @@matesenminutos8351 Sí, son 2 ejercicios pero no los enumere. Disculpa.
      Ya corrí el programa y me da la gráfica con las solución.
      Muchísimas gracias, llevaba atorado en esa parte varios días y no entendía la sintaxis cómo lo planteé porque normalmente era dy/dt.

  • @johanasarmiento4102
    @johanasarmiento4102 Год назад

    Hola!! como puedo traficar dt/dx= 0.08x=0.4, x(0)=0.5
    he intentado con tu video pero me arroja muchos errores, cambié que tu tienes dos ecuaciones yo solo tengo 1, pero creo que lo que más error me arroja es la t, y el 0.5 😥Ayuda please

    • @matesenminutos8351
      @matesenminutos8351  Год назад

      Hola
      Me parece que no esta bien el problema como lo has escrito, por favor, corrobora si es: dx/dt = 0.08x ; x(0)=0.5.

  • @marianogh03
    @marianogh03 3 года назад +3

    Gracias