rozniczki, Politechnika Lubelska, Studia, sem III


LABOLATORIUM METOD NUMERYCZNYCH

0x08 graphic
Ćwiczenie Nr 9: Metody jednokrokowe rozwiązywania równań różniczkowych

Imię i nazwisko: Mateusz Mielniczuk

Mateusz Litwin Gr. 3.3

Wyprowadzenie równań dla obwodu szeregowego RLC:

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic
0x01 graphic

0x01 graphic

0x01 graphic

Rozróżniamy tu trzy przypadki:

1) 0x01 graphic
, czyli 0x01 graphic
- przypadek aperiodyczny:

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x08 graphic
0x01 graphic
,gdzie 0x01 graphic

0x01 graphic
0x01 graphic

2) 0x01 graphic
, czyli 0x01 graphic
- przypadek aperiodyczny krytyczny:

0x01 graphic

0x01 graphic

0x01 graphic

0x08 graphic
0x01 graphic
,gdzie 0x01 graphic

0x01 graphic
0x01 graphic

3) 0x01 graphic
, czyli 0x01 graphic
- przypadek oscylacyjny:

Wzory zastosowane do obliczenia w scilabie są takie same jak dla przypadku aperiodycznego

0x08 graphic

METODA KLASYCZNA

clear;

clc;

lines(0);

//parametry zadania

E=input("podaj wartosc napiecia: ");

C=input("podaj pojemnosc kondensatora: ");

L=input("podaj indukcyjnosc cewki: ");

Rk=(2*sqrt(L/C));

uc0=input("podaj poczatkoe napiecie na kondensatorze uc(0): ");

il0=input("podaj poczatkowy prad w obwodzie i(0): ");

//funkcje opisujące przebieg napiecia na kondensatorze i prad w obwodzie

//dla przypadku aperiodycznego i oscylacyjnego

function uc=udokladnie(t)

uc=E+A1*exp(s1*t)+A2*exp(s2*t)

endfunction

function il=idokladnie(t)

il=C*(A1*s1*exp(s1*t)+A2*s2*exp(s2*t))

endfunction

//wzory dla przypadku aperiodycznego

R=Rk*5;

a=R/(2*L);

wn=1/(sqrt(L*C));

s1=-a-sqrt(a*a-wn*wn);

s2=-a+sqrt(a*a-wn*wn);

A1=(il0-uc0*s2+E*s2)/(s1-s2);

A2=(il0-uc0*s1+E*s1)/(s2-s1);

t=linspace(0,-(5/s1)-5/s2,200);

xdel(winsid()); //zamkniecie starych wykresów

//wykres dla przypadku aperiodycznego

subplot(221)

plot2d(t, udokladnie(t),3);

plot2d(t, idokladnie(t),4);

xtitle('przebiegi dla przypadku aperiodycznego','t','uC i',boxed=1)

legends(['uC','i'],[3,4],opt=2)

//funkcje opisujące przebieg napiecia na kondensatorze i prad w obwodzie

//dla przypadku aperiodycznego krytycznego

function w=uakdokladnie(t)

w=E+(A1+(A2*t)).*(exp(-a*t))

endfunction

function z=iakdokladnie(t)

z=-C*(A2-a*A1+A2*t).*exp(-a*t)

endfunction

//wzory dla przypadku aperiodycznego krytycznego

R=Rk;

a=R/(2*L);

wn=1/(sqrt(L*C));

s=-a;

A1=uc0-E;

A2=il0+a*(uc0-E);

t=linspace(0,6/a,200);

//wykres dla przypadku aperiodycznego krytycznego

subplot(222)

plot2d(t, uakdokladnie(t),3);

plot2d(t, iakdokladnie(t),4);

xtitle('przebiegi dla przypadku aperiodycznego krytycznego','t','uC i',boxed=1)

legends(['uC','i'],[3,4],opt=2)

//wzory dla przypadku osylacyjnego

R=Rk/5;

a=R/(2*L);

wn=1/(sqrt(L*C));

s1=-a-sqrt(a*a-wn*wn);

s2=-a+sqrt(a*a-wn*wn);

A1=(il0-uc0*s2+E*s2)/(s1-s2);

A2=(il0-uc0*s1+E*s1)/(s2-s1);

t=linspace(0,5/a,200);

// i wykres

subplot(223)

plot2d(t, udokladnie(t),3);

plot2d(t, idokladnie(t),4);

xtitle('przebiegi dla przypadku oscylacyjnego','t','uC i',boxed=1)

legends(['uC','i'],[3,4],opt=6)

METODA EULERA I RUNGEGO-KUTTY RZ. 4

0x01 graphic

0x01 graphic

0x01 graphic

Skrypt wpisany w scilabie:

clear; xdel; clc;

lines(0) // wyłączenie przewijania pionowego

//parametry zadania

E=input("podaj wartosc napiecia: ");

C=input("podaj pojemnosc kondensatora: ");

L=input("podaj indukcyjnosc cewki: ");

Rk=(2*sqrt(L/C));

y10=input("podaj poczatkoe napiecie na kondensatorze uc(0): ");

y20=input("podaj poczatkowy prad w obwodzie i(0): ");

//rownanie II rzedu zapisane jako uklad rownan rownan I rzedu

function w=f1(t,y1,y2)

w=y2;

endfunction

function w=f2(t,y1,y2)

w=-y1/(L*C)-(R*y2)/L+E/(L*C);

endfunction

// ROZWIAZANIE METODA EULERA

//funkcja dla metody Eulera

function [t,y1,y2]=Euler(t0,tk,h,y10,y20)

N=(tk-t0)/h; // obliczanie liczby kroków

t(1)=t0; // inicjacja wektora czasu

y1(1)=y10; // inicjacja wektora rozwiązań

y2(1)=y20; // inicjacja wektora rozwiązań

for n=1:N

t(n+1)=t(n)+h;

y1(n+1)=y1(n)+h*f1(t(n),y1(n),y2(n)); // obliczanie y1,

y2(n+1)=y2(n)+h*f2(t(n),y1(n),y2(n)); // obliczanie y2,

end // koniec pętli for,

endfunction // koniec definicji funkcji.

//rozwiązanie dla przypadku aperiodycznego krytycznego

R=Rk;

tau=(2*L)/R;

[eu_t, eu_y1, eu_y2]=Euler(0, 6*tau, tau/2, y10, y20);

uC=eu_y1; // obliczanie napięcia na kondensatorze

i=eu_y2*C; // obliczanie prądu płynącego w obwodzie

//wykres dla przypadku aperiodycznego krytycznego

subplot(232); // Definicja położenia wykresu

plot2d(eu_t, [uC,i],[3,4] );

xtitle('Metoda Eulera przypadek aperiodyczny krytyczny','t','uC i',boxed=1) // podpis wykresu

legends(['uC','i'],[3,4],opt=2)

//rozwiązanie dla przypadku aperiodycznego

R=Rk*5;

tau=(2*L)/R;

[rk4_t, rk4_y1, rk4_y2]=RK4(0, 6*tau, tau/2, y10, y20);

uC=eu_y1; // obliczanie napięcia na kondensatorze

i=eu_y2*C; // obliczanie prądu płynącego w obwodzie

//wykres dla przypadku aperiodycznego

subplot(231); // Definicja położenia wykresu

plot2d(eu_t, [uC,i],[3,4] );

xtitle('Metoda Eulera przypadek aperiodyczny','t','uC i',boxed=1) // podpis wykresu

legends(['uC','i'],[3,4],opt=2)

//rozwiązanie dla przypadku oscylacyjnego

R=Rk/5;

tau=(2*L)/R;

[rk4_t, rk4_y1, rk4_y2]=RK4(0, 6*tau, tau/2, y10, y20);

uC=eu_y1; // obliczanie napięcia na kondensatorze

i=eu_y2*C; // obliczanie prądu płynącego w obwodzie

//wykres dla przypadku oscylacyjnego

subplot(233); // Definicja położenia wykresu

plot2d(eu_t, [uC,i],[3,4] );

xtitle('Metoda Eulera przypadek oscylacyjny','t','uC i',boxed=1) // podpis wykresu

legends(['uC','i'],[3,4],opt=4)

//ROZWIAZANIE METODA RK4

function [t,y1,y2]=RK4(t0, tk, h, y10, y20)

N=(tk-t0)/h; // obliczanie liczby kroków

t(1)=t0; // inicjacja wektora czasu

y1(1)=y10; // inicjacja wektora rozwiązań

y2(1)=y20; // inicjacja wektora rozwiązań

for n=1:N // rozpoczęcie pętli for,

t(n+1)=t(n)+h; // obliczanie liczby kroków,

k11=f1(t(n), y1(n), y2(n));

k21=f2(t(n), y1(n), y2(n));

k12=f1(t(n)+ h/2, y1(n)+h/2*k11, y2(n)+h/2*k21);

k22=f2(t(n)+ h/2, y1(n)+h/2*k11, y2(n)+h/2*k21);

k13=f1(t(n)+ h/2, y1(n)+h/2*k12, y2(n)+h/2*k22);

k23=f2(t(n)+ h/2, y1(n)+h/2*k12, y2(n)+h/2*k22);

k14=f1(t(n)+ h, y1(n)+h*k13, y2(n)+h*k23);

k24=f2(t(n)+ h, y1(n)+h*k13, y2(n)+h*k23);

y1(n+1)=y1(n)+h/6*(k11+2*k12+2*k13+k14);

y2(n+1)=y2(n)+h/6*(k21+2*k22+2*k23+k24);

end

endfunction

//rozwiązanie dla przypadku aperiodycznego krytycznego

R=Rk;

tau=(2*L)/R;

[rk4_t, rk4_y1, rk4_y2]=RK4(0, 6*tau, tau/2, y10, y20);

uC=rk4_y1; // obliczanie napięcia na kondensatorze,

i=rk4_y2*C; // obliczanie prądu w obwodzie,

subplot(235); // Definicja położenia wykresy,

plot2d(rk4_t, [uC,i],[3,4] ); // rysowanie wykresu,

xtitle('Metoda RK4 przypadek aperiodyczny krytyczny','t','uC i',boxed=1) // podpis wykresu.

legends(['uC','i'],[3,4],opt=2)

//rozwiązanie dla przypadku aperiodycznego

R=Rk*5;

tau=(2*L)/R;

[rk4_t, rk4_y1, rk4_y2]=RK4(0, 6*tau, tau/2, y10, y20);

uC=rk4_y1; // obliczanie napięcia na kondensatorze,

i=rk4_y2*C; // obliczanie prądu w obwodzie,

subplot(234); // Definicja położenia wykresy,

plot2d(rk4_t, [uC,i],[3,4] ); // rysowanie wykresu,

xtitle('Metoda RK4 przypadek aperiodyczny ','t','uC i',boxed=1) // podpis wykresu.

legends(['uC','i'],[3,4],opt=2)

//rozwiązanie dla przypadku oscylacyjnego

R=Rk/5;

tau=(2*L)/R;

[rk4_t, rk4_y1, rk4_y2]=RK4(0, 6*tau, tau/2, y10, y20);

uC=rk4_y1; // obliczanie napięcia na kondensatorze,

i=rk4_y2*C; // obliczanie prądu w obwodzie,

subplot(236); // Definicja położenia wykresy,

plot2d(rk4_t, [uC,i],[3,4] ); // rysowanie wykresu,

xtitle('Metoda RK4 przypadek oscylacyjny','t','uC i',boxed=1) // podpis wykresu.

legends(['uC','i'],[3,4],opt=4)

Wykresy dla danych:

E=5V L=0.6 H C=0.05F uC(0)=0 iL(0)=0

Wykresy metody klasycznej

0x01 graphic

Wykresy dla metod: Eulera oraz RK4

0x01 graphic

0x01 graphic

0x01 graphic

WNIOSKI:

Metoda Eulera jest mniej dokładna od metody Rungego-Kutty rzędu 4, przy niskiej liczbie kroków. Gdy liczba kroków zostanie zwiększona, na wykresach nie widać dużych rozbieżności miedzy obiema metodami.



Wyszukiwarka

Podobne podstrony:
Czwórniki, Politechnika Lubelska, Studia, sem III, pen
stany nieustalone w obwodach RLC zasilanych ze źródła napięcia stałego, Politechnika Lubelska, Studi
BUEE alfabetycznie, Politechnika Lubelska, Studia, sem III, Bezpieczeństwo użytkowania urządzeń elek
Autentyczne dialogi pilotów, Politechnika Lubelska, Studia, sem III
Metoda prądów oczkowych, Politechnika Lubelska, Studia, sem III, materiały, Teoria Obwodów1, kabelki
bezpieczenstwo calosc 2, Politechnika Lubelska, Studia, sem III, Bezpieczeństwo użytkowania urządzeń
strona piotrka, Politechnika Lubelska, Studia, sem III, pen, METODY NUMERYCZNE, metody numeryczbe st
metrologiia, Politechnika Lubelska, Studia, sem III
Metro egzam, Politechnika Lubelska, Studia, sem III, Egzamin metrologia
SPR MRT, Politechnika Lubelska, Studia, sem III
ED3, Politechnika Lubelska, Studia, sem III
ED5, Politechnika Lubelska, Studia, sem III
Laboratorium elektroniki - Ćwiczenie 02, Politechnika Lubelska, Studia, sem III, materiały, Teoria O
ED4-10, Politechnika Lubelska, Studia, sem III
Laboratorium elektroniki - Ćwiczenie 01, Politechnika Lubelska, Studia, sem III, materiały, Teoria O
POLITECHNIKA LUBELSKA, Politechnika Lubelska, Studia, sem III, Geometria i grafika inżynierska

więcej podobnych podstron