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:
Dla B>K mamy:
Oraz dla B<K otrzymujemy:
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