LABORATORIUM Z

METOD NUMERYCZNYCH

TEMAT: ODE23 ODE45

Łukasz Kudelski

Grupa 7

Cel ćwiczenia

Celem ćwiczenia jest zapoznanie się z funkcjami ODE23 i ODE45 rozwiązującymi równania różniczkowe.

Wykonanie

Wybieramy równanie różniczkowe w postaci:

0x01 graphic

Równanie to można zastąpić układem dwóch równań rzędu pierwszego

x1=x

0x01 graphic

0x01 graphic

Zapisujemy układ w postaci macierzowej

0x01 graphic

Zapisujemy układ równań w postaci m-pliku funkcyjnego

function [dx]=fun(t,x)

global m k b F w

dx=[0,1;-k/m,-b/m]*x+[0;(F*sin(w*t))/m]

Program wywołujący funkcję ode23

m=26; %Masa

k=17; %Wspolczynnik sprezystosci

b=3; %Wspolczynnik tlumienia

F=2350; %Siła

w=260; %Predkosc katowa

global m b k F w

t0=input('Czas rozpoczęcia próby t0= ');

tk=input('Czas zakończenia próby tk= ');

x10=1;

x20=0;

WP=[x10;x20];

[T,x]=ode23('fun',t0,tk,WP);

[t1,x1]=ode45('fun',t0,tk,WP);

hold on

title('niebieski ode23 ; czerwony ode45')

plot (T,x(:,1),'b')

plot (t1,x1(:,1),'r')

xlabel('Czas')

ylabel('Przemieszczenie')

hold off

Wnioski

Funkcja ode23 implementuje metodę Rungego i Kutty rzędu 2 z adaptacją czasową, natomiast ode45 Rungego i Kutty rzędu 4 z adaptacją czasową. Dzięki temu funkcja ode45 jest dokładniejsze od funkcji ode23. Obie funkcje zwracają dwie wartości: wektor (kolumnowy) punktów czasowych i wektor kolumnowy wartości rozwiązania w tych punktach.

3