Metody numeryczne, metody cw4


Rafał Kurasz gr. 20

Rozwiązywanie równań różniczkowych wyższych rzędów w programie Matlab.

1.Kod źródłowy programu:

M=5;

B=3;

K=3;

global M B K

t0=0;

tk=100;

x10=1;

x20=0;

WP=[x10,x20];

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

plot (T,x(:,1))

xlabel('Czas')

ylabel('Przemieszczenie')

function [dx]=f(t,x)

global M K B

dx=[x(2); -K/M*x(1)-(B/M)*x(2)];

2.Przykłady rozwiązań:

Dla B=K otrzymujemy wykres:

0x01 graphic

Dla B>K mamy:

0x01 graphic

Oraz dla B<K otrzymujemy:

0x01 graphic

3.Wnioski:

- możemy zobaczyć bardzo praktyczne zastosowanie programu matlab i nie chodzi tylko o rozwiązywanie równań różniczkowych wyższych rzędów ale o wykorzystanie rozwiązań w życiu codziennym (układ przedstawiony powyżej może przedstawiać sposób pracy zawieszenia samochodu)

- im większy dobieramy przedział czasowy tym dokładniej widzimy rozwiązanie układu

- zmniejszając liczbę kroków programu zwiększamy dokładność uzyskanego wyniku



Wyszukiwarka