10 spr

POLITECHNIKA LUBELSKA w LUBLINIE

LABORATORIUM METOD NUMERYCZNYCH
Temat Równania różniczkowe II rzędu- analiza stanów nieustalonych w obwodach elektrycznych.

Nazwisko i Imię

Łupina Marcin

Kryszczuk Michał

Celem ćwiczenia było rozwiązanie układu szeregowego RLC w stanie nieustalonym za pomocą programu SCILAB.

  1. Skrypt SCILABA do zadania nr 1.

clear; // czyszczenie wartości zmiennych i stalych,

clc; // czyszczenie konsoli,

xdel; // zamykanie wszystkich okien wykresu,

function [pochodne]=stanykr(t,x) //funkcje opisujące układy równań różniczkowych

pochodne(1)=(E-R*C*x(1)-x(2))/(L*C);

pochodne(2)=x(3)/C;

pochodne(3)=(E-R*x(3)-x(2))/L;

endfunction

function [pochodne]=stanyaper(t,x)

pochodne(1)=(E-Raper*C*x(1)-x(2))/(L*C);

pochodne(2)=x(3)/C;

pochodne(3)=(E-Raper*x(3)-x(2))/L;

endfunction

function [pochodne]=stanyoscy(t,x)

pochodne(1)=(E-Roscy*C*x(1)-x(2))/(L*C);

pochodne(2)=x(3)/C;

pochodne(3)=(E-Roscy*x(3)-x(2))/L;

endfunction

E=input('Podaj wartosc E ')// definicja parametrów rozwiązywanego obwodu

L=input('Podaj wartosc L ')

C=input('Podaj wartosc C ')

R=2*sqrt(L/C)

Raper=4*R;

Roscy=R/5;

duC0=0; //parametry początkowe zdefiniowanych zmiennych stanu i czasu

uC0=0;

i0=0;

t0=0;

t=0:0.0001:0.08; //definicja wektora czasu

roz=ode([duC0;uC0;i0],t0,t,stanykr); //polecenia rozwiązania układu równań różniczkowych

rozaper=ode([duC0;uC0;i0],t0,t,stanyaper);

rozoscy=ode([duC0;uC0;i0],t0,t,stanyoscy);

i=roz(3,:); //przebiegi pozostałych napięć

uC=roz(2,:);

uR=R*i;

uL=E-uR-uC;

Ez=uC+uR+uL; //sprawdzenie poprawności obliczeń

iaper=rozaper(3,:); //przebiegi pozostałych napięć

uCaper=rozaper(2,:);

uRaper=Raper*iaper;

uLaper=E-uRaper-uCaper;

Ez=uCaper+uRaper+uLaper; //sprawdzenie poprawności obliczeń

ioscy=rozoscy(3,:); //przebiegi pozostałych napięć

uCoscy=rozoscy(2,:);

uRoscy=Roscy*ioscy;

uLoscy=E-uRoscy-uCoscy;

Ez=uCoscy+uRoscy+uLoscy; //sprawdzenie poprawności obliczeń

subplot(231); // rysowanie poszczególnych wykresów

plot2d(t,iaper,2,leg='i(t)',axesflag=5);

subplot(234);

plot2d(t,[uCaper'uRaper'uLaper'Ez'],style=[3,2,4,9],leg='uC(t)@uR(t)@uL(t)@E',axesflag=5);

subplot(232);

plot2d(t,i,2,leg='i(t)',axesflag=5);

subplot(235);

plot2d(t,[uC'uR'uL'Ez'],style=[3,2,4,9],leg='uC(t)@uR(t)@uL(t)@E',axesflag=5);

subplot(233);

plot2d(t,ioscy,2,leg='i(t)',axesflag=5);

subplot(236);

plot2d(t,[uCoscy'uRoscy'uLoscy'Ez'],style=[3,2,4,9],leg='uC(t)@uR(t)@uL(t)@E',axesflag=5);

  1. Console SCILABA dla zadanych wartości:

L=0.1H;

C=0.0001F;

E=20V;

Podaj wartosc E 20

E =

20.

Podaj wartosc L 0.1

L =

0.1

Podaj wartosc C 0.0001

C =

0.0001

ans =

Rkr wynosi:

R =

63.245553

Wykresy do zadania nr.1

  1. Skrypt SCILAB do zadania nr 2.

clear; // czyszczenie wartości zmiennych i stalych,

clc; // czyszczenie konsoli,

xdel; // zamykanie wszystkich okien wykresu,

function [pochodne]=stany0(t,x) //funkcja opisująca układ równań różniczkowych

pochodne(1)=(E*sin(2*%pi*50*t)-R*C*x(1)-x(2))/(L*C);

pochodne(2)=x(3)/C;

pochodne(3)=(E*sin(2*%pi*50*t)-R*x(3)-x(2))/L;

endfunction

function [pochodne]=stany30(t,x) //funkcja opisująca układ równań różniczkowych

pochodne(1)=(E*sin(2*%pi*50*t+%pi/6)-R*C*x(1)-x(2))/(L*C);

pochodne(2)=x(3)/C;

pochodne(3)=(E*sin(2*%pi*50*t+%pi/6)-R*x(3)-x(2))/L;

endfunction

function [pochodne]=stany45(t,x) //funkcja opisująca układ równań różniczkowych

pochodne(1)=(E*sin(2*%pi*50*t+%pi/4)-R*C*x(1)-x(2))/(L*C);

pochodne(2)=x(3)/C;

pochodne(3)=(E*sin(2*%pi*50*t+%pi/4)-R*x(3)-x(2))/L;

endfunction

function [pochodne]=stany60(t,x) //funkcja opisująca układ równań różniczkowych

pochodne(1)=(E*sin(2*%pi*50*t+%pi/3)-R*C*x(1)-x(2))/(L*C);

pochodne(2)=x(3)/C;

pochodne(3)=(E*sin(2*%pi*50*t+%pi/3)-R*x(3)-x(2))/L;

endfunction

function [pochodne]=stany90(t,x) //funkcja opisująca układ równań różniczkowych

pochodne(1)=(E*sin(2*%pi*50*t+%pi/2)-R*C*x(1)-x(2))/(L*C);

pochodne(2)=x(3)/C;

pochodne(3)=(E*sin(2*%pi*50*t+%pi/2)-R*x(3)-x(2))/L;

endfunction

E=input('Podaj wartosc E ') // definicja parametrów rozwiązywanego obwodu

L=input('Podaj wartosc L ')

C=input('Podaj wartosc C ')

R=2*sqrt(L/C)

duC0=0; //parametry początkowe zdefiniowanych zmiennych stanu i czasu

uC0=0;

i0=0;

t0=0;

t=0:0.0001:0.08; //definiujemy wektor czasu

roz=ode([duC0;uC0;i0],t0,t,stany0); //polecenia rozwiązania układu równań różniczkowych

roz30=ode([duC0;uC0;i0],t0,t,stany30);

roz45=ode([duC0;uC0;i0],t0,t,stany45);

roz60=ode([duC0;uC0;i0],t0,t,stany60);

roz90=ode([duC0;uC0;i0],t0,t,stany90);

i=roz(3,:); //wyznaczenie przebiegów pozostałych napięć

uC=roz(2,:);

uR=R*i;

uL=E*sin(2*%pi*50*t)-uR-uC;

Ez=uC+uR+uL; //sprawdzenie poprawności obliczeń

i30=roz30(3,:); //wyznaczenie przebiegów pozostałych napięć

uC30=roz30(2,:);

uR30=R*i30;

uL30=E*sin(2*%pi*50*t+%pi/6)-uR30-uC30;

Ez=uC30+uR30+uL30; //sprawdzenie poprawności obliczeń

i45=roz45(3,:); //wyznaczenie przebiegów pozostałych napięć

uC45=roz45(2,:);

uR45=R*i45;

uL45=E*sin(2*%pi*50*t+%pi/4)-uR45-uC45;

Ez=uC45+uR45+uL45; //sprawdzenie poprawności obliczeń

i60=roz60(3,:); //wyznaczenie przebiegów pozostałych napięć

uC60=roz60(2,:);

uR60=R*i60;

uL60=E*sin(2*%pi*50*t+%pi/3)-uR60-uC60;

Ez=uC60+uR60+uL60; //sprawdzenie poprawności obliczeń

i90=roz90(3,:); //wyznaczenie przebiegów pozostałych napięć

uC90=roz90(2,:);

uR90=R*i90;

uL90=E*sin(2*%pi*50*t+%pi/2)-uR90-uC90;

Ez=uC90+uR90+uL90; //sprawdzenie poprawności obliczeń

subplot(211); // rysowanie poszczególnych wykresów

plot2d(t,i,2,leg='i(t)',axesflag=5);

subplot(212);

plot2d(t,[uC'uR'uL'Ez'],style=[3,2,4,9],leg='uC(t)@uR(t)@uL(t)@E',axesflag=5);

subplot(211);

plot2d(t,i30,2,leg='i(t)',axesflag=5);

subplot(212);

plot2d(t,[uC30'uR30'uL30'Ez'],style=[3,2,4,9],leg='uC(t)@uR(t)@uL(t)@E',axesflag=5);

subplot(211);

plot2d(t,i45,2,leg='i(t)',axesflag=5);

subplot(212);

plot2d(t,[uC45'uR45'uL45'Ez'],style=[3,2,4,9],leg='uC(t)@uR(t)@uL(t)@E',axesflag=5);

subplot(211);

plot2d(t,i60,2,leg='i(t)',axesflag=5);

subplot(212);

plot2d(t,[uC60'uR60'uL60'Ez'],style=[3,2,4,9],leg='uC(t)@uR(t)@uL(t)@E',axesflag=5);

subplot(211);

plot2d(t,i90,2,leg='i(t)',axesflag=5);

subplot(212);

plot2d(t,[uC90'uR90'uL90'Ez'],style=[3,2,4,9],leg='uC(t)@uR(t)@uL(t)@E',axesflag=5);

  1. Console SCILABA dla zadanych wartości:

L=0.1H;

C=0.0001F;

E=20V;

Podaj wartosc E 20

E =

20.

Podaj wartosc L 0.1

L =

0.1

Podaj wartosc C 0.0001

C =

0.0001

R =

63.245553

Wykresy do zadania nr 2.

Wnioski:

Przykładowy skrypt SCILABA zmodyfikowaliśmy tak, aby wyliczał wartości rezystancji krytycznej oraz wykreślał przebiegi chwilowe napięć i prądu dla zadanych przez nas wartości E, L i C. Wykreślone przebiegi zgadzają się z tymi z instrukcji co świadczy o tym ze zadanie zostało wykonane prawidłowo.

Następnie sprawdzaliśmy zależność fazy napięcia zasilającego na proces załączenia badanego obwodu RLC. Wyniki porównania przedstawione są za pomocą wykresów.


Wyszukiwarka

Podobne podstrony:
metr 10 spr
10 spr, Studia, Politechnika
metr 10 spr
10 Obw M z 2012 r w spr wys stawek należn za korzyst ze ródl dróg wodnych
10 buf spr
Spr.nr 10, Studia, Chemia, chemia7
eap spr 10
ustawa z dnia 17.10.2003 w spr. wykonywa
ZiP stacj spr ćw 10
spr mnozenie przez 10 kl 4, Matematyka, kl 4
spr.10, studia, 3 rok, Mikrobiologia, pytania, testy, polski, STOMATOLOGIA 2005-2006 wszystkie
wykład 10, Różne Spr(1)(4)
spr filtry czestotliwosciowe zombie, aaa, studia 22.10.2014, całe sttudia, III semestr
spr.10, Studia, pomoc studialna, sprawozdania z fizyki, laboratoria
spr. 10, sprawozdania z mechaniki plynow
płyny spr 10
as spr 10
spr 10, Budownictwo Politechnika Warszawska, Semestr III, III Semestr, Przodki 3 sem, od justyny, 3

więcej podobnych podstron