Annak a function-nak a neve, amiben letároltuk az egyenletünket.

Hasonló dokumentumok
ODE SOLVER-ek használata a MATLAB-ban

MATLAB. 8. gyakorlat. Differenciálegyenletek

Függvények ábrázolása

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek numerikus megoldása

Fiznum második rész hosszabb feladatsor. Pál Bernadett. Határozzuk meg a 13. feladatban szereplő rendszer sajátfrekvenciáit!

Közönséges differenciálegyenletek megoldása Mapleben

Feladatok a Diffrenciálegyenletek IV témakörhöz. 1. Határozzuk meg következő differenciálegyenletek általános megoldását a próba függvény módszerrel.

BIOMATEMATIKA ELŐADÁS

(kidolgozta: Dr. Nagy Zoltán egyetemi adjunktus)

Közönséges differenciál egyenletek megoldása numerikus módszerekkel: egylépéses numerikus eljárások

A xenonkoncentráció változásának vizsgálata homogén reaktor esetében

Maple: Deriváltak és a függvény nevezetes pontjai

Matematika III. harmadik előadás

2) Írja fel az alábbi lineáris függvény grafikonjának egyenletét! (3pont)

Runge-Kutta módszerek

DIFFERENCIÁLEGYENLETEK. BSc. Matematika II. BGRMA2HNND, BGRMA2HNNC

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek

Gauss elimináció, LU felbontás

Matematikai programok

3. Lineáris differenciálegyenletek

Egyenletek, egyenletrendszerek, egyenlőtlenségek Megoldások

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

Tartalom. 1. Állapotegyenletek megoldása 2. Állapot visszacsatolás (pólusallokáció)

GÉPEK DINAMIKÁJA 9.gyak.hét 1. és 2. Feladat

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

HÁZI FELADATOK. 2. félév. 1. konferencia Komplex számok

Maghasadás (fisszió)

Atomreaktorok üzemtana. Az üzemelő és leállított reaktor, mint sugárforrás

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

DINAMIKAI VIZSGÁLAT ÁLLAPOTTÉRBEN Dr. Aradi Petra, Dr. Niedermayer Péter: Rendszertechnika segédlet 1

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Abszolútértékes és gyökös kifejezések

2. Alapfeltevések és a logisztikus egyenlet

Egyenletek, egyenlőtlenségek grafikus megoldása TK. II. kötet 25. old. 3. feladat

Matematika A2 vizsga mgeoldása június 4.

Matematikai programok

rank(a) == rank([a b])

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

Hurokegyenlet alakja, ha az áram irányával megegyező feszültségeséseket tekintjük pozitívnak:

valós számot tartalmaz, mert az ilyen részhalmazon nem azonosság.

12 48 b Oldjuk meg az Egyenlet munkalapon a következő egyenletrendszert az inverz mátrixos módszer segítségével! Lépések:

Példatár a bevezetés a Matlab programozásába tárgyhoz

Konjugált gradiens módszer

Robotok inverz geometriája

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Feladatok Differenciálegyenletek II. témakörhöz. 1. Határozzuk meg a következő elsőrendű lineáris differenciálegyenletek általános megoldását!

Függvények Megoldások

GPK M1 (BME) Interpoláció / 16

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Differenciálegyenletek megoldása Laplace-transzformációval. Vajda István március 21.

SZÁMÍTÁSOK A TÁBLÁZATBAN

Gauss-eliminációval, Cholesky felbontás, QR felbontás

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

SCILAB programcsomag segítségével

Magszintézis neutronbefogással

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

1. feladatsor, megoldások. y y = 0. y h = C e x

egyenlőtlenségnek kell teljesülnie.

Nagy András. Feladatok a logaritmus témaköréhez 11. osztály 2010.

DIFFERENCIÁLEGYENLETEK. BSc. Matematika II. BGRMA2HNND, BGRMA2HNNC

TOL A MEGYEI SZILÁRD LEÓ FIZIKAVERSE Y Szekszárd, március óra 11. osztály

Mechatronika segédlet 10. gyakorlat

Végeselem modellezés alapjai 1. óra

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

MATLAB. 6. gyakorlat. Integrálás folytatás, gyakorlás

Lineáris algebra Gyakorló feladatok

Radioaktivitás. 9.2 fejezet

Matematika szigorlat, Mérnök informatikus szak I máj. 12. Név: Nept. kód: Idő: 1. f. 2. f. 3. f. 4. f. 5. f. 6. f. Össz.: Oszt.

Vektorok, mátrixok, lineáris egyenletrendszerek

Fourier transzformáció

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Magfizika tesztek. 1. Melyik részecske nem tartozik a nukleonok közé? a) elektron b) proton c) neutron d) egyik sem

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

Differenciálegyenletek numerikus megoldása

Elhangzott tananyag óránkénti bontásban

Szennyezőanyagok terjedésének numerikus szimulációja, MISKAM célszoftver

Hajlított tartó elmozdulásmez jének meghatározása Ritz-módszerrel

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Feladatok a logaritmus témaköréhez 11. osztály, középszint

1. Oldja meg a z 3 (5 + 3j) (8 + 2j) 2. Adottak az A(1,4,3), B(3,1, 1), C( 5,2,4) pontok a térben.

Differenciálegyenletek. Vajda István március 4.

MATLAB OKTATÁS 4. ELŐADÁS LINEÁRIS, NEMLINEÁRIS ÉS DIFFERENCIÁL- EGYENLETRENDSZEREK MEGOLDÁSA. Dr. Bécsi Tamás Hegedüs Ferenc

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

Az atommag összetétele, radioaktivitás

Bevezetés az algebrába 2 Differencia- és differenciálegyenlet-rendszerek

x 2 e x dx c) (3x 2 2x)e 2x dx x sin x dx f) x cosxdx (1 x 2 )(sin 2x 2 cos 3x) dx e 2x cos x dx k) e x sin x cosxdx x ln x dx n) (2x + 1) ln 2 x dx

Első magreakciók. Targetmag

Bázistranszformáció és alkalmazásai 2.

Reakciókinetika és katalízis

n n (n n ), lim ln(2 + 3e x ) x 3 + 2x 2e x e x + 1, sin x 1 cos x, lim e x2 1 + x 2 lim sin x 1 )

MATEMATIKA PRÓBAÉRETTSÉGI 2013 I. rész

Komputeralgebra Rendszerek

Differenciálegyenlet rendszerek

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Gazdasági matematika II. vizsgadolgozat megoldása, június 10

8. AZ ATOMMAG FIZIKÁJA

Átírás:

Function-ok a MATLAB-ban Előző óra 4. Feladata. Amikor mi egy function-t írunk, akkor azt eltárolhatjuk egy.m fileban. Ebben az esetben ha egy másik programunkból szeretnénk meghívni ezt a függvényt (pl az iranysorsolas-t), akkor a megfelelő.m filenak ott kell lennie ugyanabban a mappában. (Ez a beépített függvényeknél nincs így, csak azoknál amiket mi írunk) De nem mindenképpen kell külön.m file-t létrehozni. Ha pl egy függvényt csak egy adott programon belül szeretnénk használni, akkor a program.m file-jába is tehetjük. Viszont ekkor maga a programot adó function végére is kell -et írnunk. Ez az után beírhatjuk a függvényünket, ugyanúgy, mintha egy külön.m file-ba írnánk. Majd ennek a végére is kell egy. End-et azért kell tenni, hogy a fordító tudja, hogy hol ér véget az adott függvény. Lehet tenni akkor is -et, ha csak egy függvény van egy.m file-ban. Hogyan oldjunk meg MATLAB-ban diffegyenletet? A MATLAB a diffegyenletet numerikusan oldja meg. Erre több matematikai módszer is létezik. Azt, hogy melyiket célszerű használni, a probléma határozza meg. Mivel mi jelen esetben nem a diffegyenletek numerikus megoldásának matematikájával foglalkozunk, így ezekkel nem foglalkozunk. A MATLAB helpje tartalmaz egy részt arról, hogy szerintük milyen esetben melyik megoldási módszert válasszuk. Lényegében az összes megoldási módszer esetén programozástechnikailag ugyanúgy kell eljárni. Példákban a Runge-Kutta módszert alkalmazó eljárást fogjuk használni. A differenciálegyenlet megoldás egy ugyanolyan beépített függvénnyel működik, mint amikor egy mátrix elemei között a minimumot keressük. A különbség az, hogy a differenciál egyenletet nem tudjuk úgy megadni a beépített függvénynek, mint egy mátrixot a min függvénynek. A megoldandó differenciál egyenletet meg kell írnunk egy függvényben, és azt a függvényt kell a megoldó-függvénynek odaadni. Ettől függetlenül a diffegyenlet-megoldó beépített függvény (solver) meghívása ugyanúgy működik, mint bármelyik másik beépített függvény: [t,y] = solver(odefun,tspan,y0,options) Bemenet: odefun tspan y0 options Annak a function-nak a neve, amiben letároltuk az egyenletünket. Az integrálás határait megadó vektor. Magyarul, az x értelmezési tartomány ahol meg szeretnénk kapni a megoldást. Ha azt szeretnénk, hogy egy adott értéknél mindenképpen legyen számított pontunk, akkor [alsóhatár köztespont felsőhatár] A kezdeti feltételek vektora. Plusz opciókat is készíthetünk a solver számára az odeset függvény segítségével. Kimenet: t A megoldás-függvény argumentumát leíró vektor. y A megoldás-függvény. Minden pontja T egy elemében számolódik ki. 1

Solver: a diffegyenlet megoldására való matlab beépített függvény neve. Lehet: ode45, ode23, ode113, ode15s, ode23s, ode23t, ode23tb, stb. Odefun megadása: kétféleképpen lehet. Én így szoktam: @(t,y) függvényneve(t, y, egyéb inputparaméterek) Ez azt jelenti, hogy t és y értékeket igazából mi nem definiálunk. A megoldás során a megoldóalgoritmus eldönti, hogy milyen t értékek mellett fogja megoldani, és a megoldás értékeket (a függvényértéket) y-ba teszi. Ezért tesszük előre a @(t,y)-t, mert ők úgymond változók a függvény számára. A függvény neve utáni ()-be kerülnek a bemeneti értékek. Itt meg kell adni a t és y t is, aminek itt még nincs értéke, valójában nincsenek is ilyen változóink a programunkban. Azért kell mégis megadni, mert a solver egy eljárást többször hív meg, így kell neki a változó-érték is. A diffegyenletnek lehetnek paraméterei is, pl radioaktív bomlásnál a felezési idő, stb Végeredményben a differenciál-egyenlet megoldásához két dolgot kell csinálnunk: Megírni a diffegyenletet megadó függvényt (odefun). Majd ezt egy programban meg kell oldanunk (kezdetiértékek, paraméterek megadása; odexx meghívása) 1.1 Példa: Oldjuk meg a radioaktív bomlás alapegyenletét a következő bomlásra: Maga a diffegyenlet: () = (), ahol = A bomló izotóp legyen a 95 Zr, ennek felezési ideje 64.02 nap. Kezdetben 10 20 atommag van. A megoldás időtartománya: t=0..2év. Az eredményt ábrázoljuk is. function bomlas1() %% alapadatok T12 = 64.02*24*3600; % 64.02 nap -> s lambda = log(2)t12; % lambda = ln(2)t12 N0 = 1e20; % t = 0-ban a magok száma - kezdetiérték tspan = [0 2*365*24*3600]; % időtartomány, amin meg szeretnénk oldani %%megoldás [t, N] = ode45(@(t,n) bomlas(t, N, lambda), tspan, N0); %%ábrázolás plot(t,n) title('radioaktív bomlás') xlabel('idő (s)') ylabel('magok száma (db)') leg({'^9^5zr'}) %% a diffegyenletet leíró függvényünk function dn = bomlas(t, N, lambda) dn = -lambda*n; 1.2 Példa: az 1.1 példa bonyolítása: A 95 Zr leányeleme a 95 Nb, ami szintén radioaktív. Így egy diffegyenlet-rszert kapunk: () = () 2

() = () () A szükséges paraméterek: 95 Zr felezési ideje: 64.02 nap, kezdetben 10 20 db atommag. 95 Nb felezési ideje: 34.991 nap, kezdetben 0 db atommag. A megoldás időtartománya: t=0..400 nap. Az eredményt ábrázoljuk is. Itt a megoldás során vektorokba tesszük a paramétereket. A kimeneti N függvényértékünk-nek is két oszlopában lesz a két izotóp atommagjainak száma. function bomlas2() %% alapadatok %Zr-95 adatai T12(1) = 64.02*24*3600; % 64.02 nap -> s N0(1) = 1e20; % t = 0-ban a magok száma - kezdetiérték % Nb-95 adatai T12(2) = 34.991*24*3600; % 34.991 nap -> s N0(2) = 0; % t = 0-ban a magok száma - kezdetiérték lambda = log(2).t12; % lambda = ln(2)t12 tspan = [0 400*24*3600]; % időtartomány, amin meg szeretnénk oldani %% diffegy megoldása [t, N] = ode45(@(t,n) bomlas(t, N, lambda), tspan, N0); %% ábrázolás plot(t,n) title('radioaktív bomlás') xlabel('idő (s)') ylabel('magok száma (db)') leg({'^9^5zr', '^9^5Nb'}) %% a diffegyenletet leíró függvényünk function dn = bomlas(t, N, lambda) dn = zeros(2,1); % hogy oszlopvektor legyen dn(1) = -lambda(1)*n(1); dn(2) = lambda(1)*n(1) - lambda(2)*n(2); Ha egy paraméter valamilyen függvény szerint változik, akkor a paraméter értékét az odefun (diffegyenletet leíró függvényben) kell kiszámolni. Ez kétféleképp lehetséges, attól függően, hogy milyen módon áll relkezésünkre a paraméter: 1. Ha a paraméter egy függvény szerint változik (pl A=x^b+c), akkor az odefun paramétereibe a b és c paramétereket írjuk: function dy = fuggveny(x, y, b, c) A = x^b+c; % az adott x értékhez a parameter számítása dy = -A*x; 2. Ha a paraméter értékei diszkrét változóértékekre állnak relkezésre egy (2*N-es) mátrixban akkor az odefun paramétereibe a mátrixot adjuk meg: function dy = fuggveny(x, y, A) Ai = interp1q(a(:,1), A(:,2), x);% az adott x értékhez a parameter számítása dy = -Ai*x; 3

Feladatok 1. Oldjuk meg a gamma-sugárzás anyagban való gyengülését leíró differenciálegyenletét a következő feltételek mellett: Maga a diffegyenlet: () = () A gammasugárzás érkezzen egy 137 Cs forrásból, = 1e5 foton másodpercenként. Az anyag legyen alumínium, melyre a lineáris gyengítési együttható = 0.2 1"#. Az x = 0..10cm tartományon oldjuk meg, és az eredményt ábrázoljuk is. 2. Az előző feladatban ne csak egy anyag legyen, hanem két különböző anyag legyen egymás mellett. Mit kell ilyenkor módosítani? 1. anyag: 5cm víz ( = 0.087 1"#) 2. anyag: 2cm ólom ( = 1.2 1"#) Az x = 0..7cm tartományon oldjuk meg, és az eredményt ábrázoljuk is. 3. Lotka-Volterra modell: Rókák és nyuszik A természetben egymás mellett élő populációk hatással lehetnek egymásra. Az egyik leghíresebb ilyen kapcsolatot leíró modell a Lotka-Volterra modell, mely a ragadozók (r) és a zsákmányaik (zs) egyedszáma közötti kapcsolatot írja le az alábbiak szerint: &'() *() = ( &'() ) &'() *() = " *() + &'() *() Oldjuk meg és ábrázoljuk az egyenletrszer megoldását t=[0 200] intervallumon, ha ( = 0.15, ) = 0.01, " = 0.4 és = 0.02. Kezdetben 80 nyuszi és 40 róka van. 4. Pontkinetikai egyenletrszer Egy adott reaktivitás esetén megadja a reaktorban lévő neutronfluxus időbeni értékét. Ez egy nagyon egyszerű közelítés a reaktorban lévő neutronok kiszámítására. Nem veszi figyelembe a hosszú időskálán való változásokat. Viszont figyelembe veszi, hogy a reaktorban vannak promptés későneutronok. A későneutronokat hat csoportra osztva veszi fegyelembe, az alapján, hogy az anyamag milyen felezési idővel relkezik. Azaz a hasadás után mennyi idő múlva jelenik meg. Az egyenletrszerben szereplő paraméterek magyarázata: -() időfüggő neutronfluxus (neutronsűrűség) Λ generációs idő. A prompt-neutronok élettartama. Arra jellemző, hogy a keletkező promptneutronok mennyi idő alatt eredményeznek újabb hasadást. a reaktivitás. = 0 1223 0 122, értékétől függően a reaktor lehet: < 0 Szubkritikus = 0 Kritikus > 0 Szuperkritikus (vagy promptszuperkritikus ) 6 a későenutron-hányad. 235 U-ra 0.65% 6 7 az egyes későneutron csoportok hányada. (ezek összege lesz a későneutron-hányad) 4

7 az egyes későneutron-csoportokhoz relt bomlási állandó ( = : 7 az egyes későneutron anyamagok száma. ; neutronforrás (dbs) A szükséges adatok: Λ = 25μs 6 = 0.65% Későneutron anyamagok: -() = 6 Λ : 7 () Csoport C (') 6 7 ( 10 3E ) 1 55,7 21 2 22,7 142 3 6,2 128 4 2,3 257 5 0,615 75 6 0,23 27 = -() + < 7 : 7 () + ;() = -() Λ 7> 6 7 7 : 7 () 89 () ) ; = 32G3 )' 6 = 0.2$ Kezdetben legyen 0 db neutron a rszerben. Milyen állapotban van a rszer? Mit jelent az eredmény? Hogyan lehet megváltoztatni ezt az állapotot? 5