13.07.2015 Views

EEN INTRODUCTIE IN MATLAB VOOR BOUWFYSICI EN ...

EEN INTRODUCTIE IN MATLAB VOOR BOUWFYSICI EN ...

EEN INTRODUCTIE IN MATLAB VOOR BOUWFYSICI EN ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>E<strong>EN</strong></strong> <strong><strong>IN</strong>TRODUCTIE</strong> <strong>IN</strong><strong>MATLAB</strong> <strong>VOOR</strong><strong>BOUWFYSICI</strong> <strong>EN</strong><strong>IN</strong>STALLATIETECHNICIAuteur: ing. A.W.M. van SchijndelTUE-Bouwkunde-FAGOFAGO Rapportnr: 98.09.KEindhovenapril 1998


Een introductie in MatLab voor bouwfysicipag 2<strong>IN</strong>HOUDSOPGAVEpag1. Inleiding 32. Korte samenvatting MatLab 42.1 Opstarten 42.2 Calculaties met getallen 52.3 Vectoren (array) 62.4 Matrices 72.5 Built-in functies 82.5 Plotten 92.6 Programmeren in MatLab 112.7 Geheugenbeheer en bewaren / laden van files 122.8 Oefeningen 143. Toepassingen voor bouwfysica 163.1 Data fitting 163.2 Bouwfysische Toolbox 183.3 Simulaties 22Literatuur en WWW pagina's 30BijlagenQuick Reference Guide 31fmins 40ode23 43


Een introductie in MatLab voor bouwfysicipag 31. <strong>IN</strong>LEID<strong>IN</strong>GMatLab wordt steeds populairder onder studenten, onderzoekers, ingenieurs en technicivanwege het interactieve karakter, het direct verkrijgen van grafische resultaten, demogelijkheid voor het toevoegen van gebruikers afhankelijke routines en het simpeleprogrammeren. MatLab begint zo langzamerhand de standaard te worden op het gebiedvan de wetenschappelijke numerieke calculaties. Over de gehele wereld worden tools entoolboxen gratis ter beschikking gesteld op het internet. Hiermee is een zeer grote bronaanwezig van MatLab programma's en gebruikers. Bij het zoeken naar een (MatLab)oplossing van een probleem is het daarom nuttig eens te gaan kijken op internet of dat hetprobleem al niet opgelost is met bijvoorbeeld MatLab.MatLab zal in veel gevallen een goed gereedschap zijn voor het oplossen van een(numeriek) probleem. Het is bij lange na niet het enige middel dat ter beschikking staat.Voorbeelden van pakketten die ook veelvuldig in de techniek gebruikt worden zijn o.a.Maple, Mathematica, MathCad en PDEease. Ieder pakket heeft zo zijn eigen voor- ennadelen. Voor het symbolisch rekenen zijn Maple en Mathematica het meest geschikt.Voor het oplossen van partiële differentiaal vergelijkingen kan men het beste PDEasegebruiken. MathCad is zowel geschikt voor het symbolisch als numeriek rekenen maar isin beide niet de beste. Dit programma is wel heel gebruikersvriendelijk en biedt goedemogelijkheden voor de weergave van de resultaten, waarbij vergelijkingen en grafieken ineen document zichtbaar zijn. In alle gevallen geldt dat het probleem eerst goedgeanalyseerd moet worden en pas daarna moet een keuze gemaakt worden met welkgereedschap het probleem wordt aangepakt.Deze MatLab introductie is bedoeld voor studenten met nog weinig tot geen ervaring metMatLab. De opzet voor deze handleiding is een eerste kennismaking met het programmaMatLab en het oefenen met MatLab bij bouwfysische problemen. Als basiskennis is enigeprogrammeer ervaring gewenst. Kennis omtrent bouwfysica met name warmtetransport iswel noodzakelijk om sommige oefeningen te kunnen maken.Het eerste gedeelte van deze handleiding (H2) worden enkele commando's gedetailleerdtoegelicht om een kleine basis te hebben voor het gebruik van MatLab. In H3 komenenkele specifieke toepassingen aan de orde voor bouwfysica. Dit gedeelte is meer bedoeltals oefening, hierbij wordt de achtergrondinformatie tijdens de Workshops verstrekt.


2. KORTE SAM<strong>EN</strong>VATT<strong>IN</strong>G <strong>MATLAB</strong>Een introductie in MatLab voor bouwfysicipag 4In dit hoofdstuk worden enkele commando's van MatLab toegelicht. Het dient als eerstekennismaking met het programma MatLab.MatLab is een interpreter d.w.z. dat commando's door MatLab één voor één wordengeïnterpreteerd en uitgevoerd. Het voordeel hiervan is dat het resultaat van eencommando direkt zichtbaar is en hoeft men in tegenstelling tot compiler-talen niet tewachten op het compileren. Overigens is een nadeel van interpreters dat ze over hetalgemeen wat trager zijn.MatLab is gebaseerd op het rekenen met vectoren en matrices, al dan niet complex. Hetvoordeel is dat MatLab programma's in vele gevallen veel simpeler en korter zijn danandere programma's. Ook is MatLab zeer effectief in het rekenen met matrices envectoren zodat berekeningen snel klaar zijn. De visualisatie mogelijkheden zijn zeeruitgebreid en zijn op een simpele manier toegankelijk.De Quick Reference Guide geeft een overzicht van alle MatLab commando's, diestandaard aanwezig zijn. Om te kijken wat een bepaald commando doet kan men gebruikmaken van het help commando. Bij het typen van een commando, is het raadzaam dekleine en hoofdletters over te nemen omdat MatLab daar verschil in maakt. In het vervolgworden MatLab commando's schuin gedrukt. Aan ieder begin van een paragraaf staat eenoverzicht van de tot dan toe nog nieuwe commando's.2.1 Opstartencommando's: demo, info, helpMatLab moet geïnstalleerd zijn volgens de MatLab User's Guide. Vanuit een MS-Windows omgeving wordt MatLab opgestart door te dubbelklikken op het MatLab icon.Vanuit een Unix omgeving kan men MatLab opstarten door het typen van het commandoMatLab. Na het opstarten verschijnt de MatLab prompt >>. Vanaf hier kunnenrechtstreeks MatLab commando's worden ingetypt.De hoofd categorieën van functies (Main Categories of Functions) zijn weergegeven opblz.1 van de Quick Reference Guide (zie bijlage). De inhoud van deze categorieën wordtweergegeven door het commando help caterogie_naam. Bijvoorbeeld help demos laatalle functies zien die gebruikt kunnen worden om een demo programma op te startenVerder worden op pagina 1 van de Quick Reference Guide de speciale toetsen besprokenvoor command-line editing voor VMS, Unix en Windows.Het commando demo start het demo programma EXPO op. Dit is een grafisch gestuurddemo programma voor MatLab waarin een overzicht wordt gegeven van demogelijkheden van MatLab.


Een introductie in MatLab voor bouwfysicipag 6zz =3Elementaire functies zoals bijv. logaritmen (log, log10) , e-machten (exp) ,vierkantwortels (sqrt) en goniometrie functies( sin, cos, tan ) zijn standaard aanwezig:exp(x)ans =2.7183sqrt(y)ans =1.4142Het getal pi wordt ingevoerd als pi en het getal e door exp(1)pians =3.1416exp(1)ans =2.71832.3 Vectoren (array)commando's: .* , ./ , : , [ , ], sumEen geordende verzameling getallen a1, a2, .. , an kan in MatLab gedefinieerd worden alseen vector (array), bijvoorbeeld de getallen 1 t/m 6:vector=[1 2 3 4 5 6]vector =1 2 3 4 5 6Bepaalde elementen uit een vector kunnen via hun index worden verkregen. Het tweedeelement uit vector1 krijgt men door:vector(2)ans =2


Elementen 2 t/m 4 kan men verkrijgen m.b.v. het : teken :vector(2:4)ans =2 3 4Een introductie in MatLab voor bouwfysicipag 7De vectoren kunnen bewerkt worden met de getal operaties en een getal, de operatie vindtdan plaats op ieder element van de vector, bijvoorbeeld:2*vector+1ans =3 5 7 9 11 13Ieder element van vector wordt vermenigvuldigt met 2 en er wordt 1 bij opgeteld.Voor vector-operaties wordt gebruik gemaakt van: + , - , .* , ./ . Deze operaties kunnenuiteraard alleen worden toegepast als de vectoren een zelfde aantal elementen hebben.vector2=[2 4 6 8 10 12]vector2 =2 4 6 8 10 12vector+vector2ans =3 6 9 12 15 18vector ./ vector2ans =0.5000 0.5000 0.5000 0.5000 0.5000 0.5000De som van de elementen van een vectoren is:sum(vector)ans =21Een voorbeeld voor het creëren van een vector met vaste stapgrootte:t=0:0.1:1t =Columns 1 through 70 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000Columns 8 through 110.7000 0.8000 0.9000 1.0000


Een introductie in MatLab voor bouwfysicipag 82.4 Matricescommando's:Een tweedimensionale geordende verzameling getallen wordt gekenmerkt door tweeindices. In de meeste toepassing zijn dit matrices. Een 3-bij-3 matrix kan als volgt wordeningevoerd in MatLab:A=[1 2 3;4 5 6;7 8 9]A =1 2 34 5 67 8 9De eerste rij van matrix kan worden verkregen door :A(1,:)ans =1 2 3en de eerste kolom doorA(:,1)ans =147MatLab is zeer geschikt voor het rekenen met matrices. Vele functies kunnen dan ookrechtstreeks toegepast worden op matrices. Bijvoorbeeldsin(A*pi/2)ans =1.0000 0.0000 -1.00000.0000 1.0000 0.0000-1.0000 0.0000 1.00002.5 Built-in functiescommando's: sinOp pagina 4 van de Quick Reference Guide staan onder Math Functions. Deze zijntoepasbaar op getallen, vectoren en matrices. Bijvoorbeeld:theta=0:pi/4:pi


Een introductie in MatLab voor bouwfysicipag 9theta =0 0.7854 1.5708 2.3562 3.1416sin(theta)ans =0 0.7071 1.0000 0.7071 0.00002.5 Plottencommando's: plot, xlabel, ylabel, grid, title, printDe plot functie produceert een x-y grafiek met een of meerdere lijnen/symbolen.x=0:pi/90:pi;y=sin(x);z=(sin(x).^2);plot(x,y)10.90.80.70.60.50.40.30.20.100 0.5 1 1.5 2 2.5 3 3.5Op de volgende manier kunnen teksten en een grid in de grafiek worden verkregen:xlabel(' X-as')ylabel('Y-as')title(' Mijn eerste plot')grid


Een introductie in MatLab voor bouwfysicipag 101Mijn eerste plot0.90.80.70.60.50.40.30.20.100 0.5 1 1.5 2 2.5 3 3.5Ook meerdere krommen kunnen worden weergegeven:plot(x,y,'+',x,z,'o')10.90.80.70.60.50.40.30.20.100 0.5 1 1.5 2 2.5 3 3.5


Een introductie in MatLab voor bouwfysicipag 11Het printen van een grafiek onder Windows gaat via het venster van de grafiek met demenubalk ([file] [print]). Een file van de grafiek (bijvoorbeeld bitmap of postscript ofhpgl) kan gemaakt worden m.b.v. het commando print .print -dgif8 testplotBovenstaande commando maakt de file testplot.gif aan, met daarin de laatste grafiek.2.6 Programmeren in MatLabcommando's: functionTot dusver zijn er alleen voorbeelden gegeven die rechtstreeks achter de MatLab promptworden ingevoerd. Bij het verlaten van MatLab zou al het werk dat tot dan toe gebeurd is,verloren gaan. Dit kan worden voorkomen door het schrijven van een programma, ditprogramma vervolgens bewaren en daarna te laten uitvoeren door MatLab. Als hetprogramma nog niet voldoet aan de verwachting kan dit naar believen worden aangepast.Het programma wordt een m-file genoemd omdat het de extensie .m heeft. De extensie.m is voor MatLab het teken voor een programma dat kan worden uitgevoerd. De m-filebevat MatLab commando's die regel voor regel worden ingelezen en uitgevoerd. De m-files kunnen met een tekst-editor worden bewerkt. Als voorbeeld wordt een m-filegemaakt van de laatste grafiek. Eerst wordt een nieuwe file geopend. Onder Windowsgaat dit via het MatLab venster met [File] [New M-file]. De volgende regels worden numet de tekst editor ingevoerd:x=0:pi/90:pi;y=sin(x);z=(sin(x).^2);plot(x,y,'+',x,z,'o')Bewaar deze file met [File] [Save] en noem de file: test1.m . Type vervolgens achter deMatLab prompt: test1 en er zal opnieuw de laatste grafiek verschijnen. In test1.m staannu alle commando's die nodig zijn voor het produceren van de laatste grafiek en deze filekan naar believen aangepast worden. Bij wijziging van een m-file, dient deze altijdbewaard te worden met [File] [Save]. Tijdens het uitvoeren van een m-file leest MatLabnl. de laatste bewaarde versie van de m-file op de schijfruimte.Een functie is een speciale m-file. Een functie beschrijft een relatie tussen input enoutput. Alle variabelen buiten de input en output zijn lokaal. Dus als bijvoorbeeld in eenfunctie het commando x=1 staat, heeft x alleen de waarde 1 binnen de functie en is buitende functie niet gedefinieerd. Als voorbeeld volgt een functie van de stelling vanPythagoras. Kies in het MatLab venster [File] [New M-file] en voeg de volgende regelstoe


Een introductie in MatLab voor bouwfysicipag 12function c=pyt(a,b)%PYT Stelling van PYThagoras: c = sqrt (a^2 + b^2)%Gebruik c=pyt(a,b) , input: a,b lengte van de twee zijden% ,output: c lengte van de schuine zijdec = sqrt (a.^2 + b.^2);Bewaar de m-file onder de naam: pyt.m . Type nupyt(3,4)ans =52.7 Geheugenbeheer en bewaren / laden van filescommando's: whos, clear, load, save, pwd, cd, dir,Het geheugen van MatLab leeg maken gebeurt via het commando: clear all , daarmeeworden alle variabelen uit het geheugen gewist. Dit commando kan nuttig zijn aan hetbegin van een programma of sessie om zeker te weten dat er geen rommel in hetgeheugen staat:clear allDefinieer een getal, vector en matrix:x=1;vec=[1 2 3 4];A=[1 2;3 4];Met het commando whos wordt de inhoud van het geheugen weergeven. Hierbij wordenalle variabelen met gegevens over deze variabelen weergegeven:whosComplexNoNoNoName Size Elements Bytes DensityA 2 by 2 4 32 Fullvec 1 by 4 4 32 Fullx 1 by 1 1 8 FullGrand total is 9 elements using 72 bytesStel we willen de variabele A bewaren om er later in MatLab weer iets mee te doen. Methet commando pwd wordt de huidige directory weergegeven


Een introductie in MatLab voor bouwfysicipag 13pwdans =C:\MATW<strong>IN</strong>\PROJ\WORKSHOPMet dir wordt de inhoud van de directory zichtbaar:dir. molgraf.m op31dat.mat op41f.m pendulf.m.. nenitvb.m op32.m op42.m pmvvb.mcursus1.doc odevb2.m op33.m op42f.m pyt.mdata14.dat odevbf2.m op34.m op43.m tempgraf.mdatagraf.m op1.m op35.m op43f.m tempverd.mglaservb.m op31.m op41.m pendul.m tempwarm.mMet commando cd kunnen we door de directory structuur bladeren:cd ..pwdans =C:\MATW<strong>IN</strong>\PROJAls we in de juiste directory zijn aangekomen kan de variabele bewaard worden:save data Abovenstaand commando bewaard de variabele A in de file data.mat. Een .mat file is eenbinaire file zodat de data niet zichtbaar zijn als tekst. Om variabelen op te slaan in ASCIIformaat moet aan het save commando nog de optie -ASCII worden toegevoegd:save data.dat A -asciiBovenstaande commando maakt een ASCII-file data.dat aan.Het laden van data geschiedt met het load commando. Bij het laden van een .mat-fileworden de variabelenamen herstelt:clear allload data.matwhosComplexNoName Size Elements Bytes DensityA 2 by 2 4 32 FullGrand total is 4 elements using 32 bytes


Een introductie in MatLab voor bouwfysicipag 14terwijl bij het laden van een .dat-file (ASCII) de variabelenaam wordt verandert in denaam van de file :clear allload data.datwhosComplexNoName Size Elements Bytes Densitydata 2 by 2 4 32 FullGrand total is 4 elements using 32 bytesHet inlezen van externe ASCII-files m.b.v. het load commando kan alleen als de ASCIIfilebestaat regels met steeds een dezelfde aantal getallen per regel !2.8 Oefeningen2.1) stationaire temperatuur verdelingSchrijf een functie in MatLab die de temperatuurverdeling in een constructie berekend.Functie:Invoer :Uitvoer:T=tempverd(Te,Ti,R)Ti: Interne temperatuurTe: Externe temperatuurR=[R1 R2 ... Rn]: warmteweerstanden[Ti T1 T2 ... Tn-1 Te ]: temperaturen2.2) M.b.v. onderdeel 2.1) een functie die de warmtestroomdichtheid door de constructiebepaalt.Functie:Invoer :q=tempwarm(Te,Ti,R)Ti: Interne temperatuurTe: Externe temperatuurR=[R1 R2 ... Rn]: warmteweerstandenUitvoer: q : warmtestroomdichtheid2.3) Analoog aan (2.1) alleen nu met grafische weergave van T vs RFunctie: q=tempgraf(Te,Ti,R)Invoer : Ti: Interne temperatuurTe: Externe temperatuurR=[R1 R2 ... Rn]: warmteweerstanden


Uitvoer: grafische weergave van T vs REen introductie in MatLab voor bouwfysicipag 15


Een introductie in MatLab voor bouwfysicipag 162.4) Schrijf een functie die data in een ASCII-file grafisch weergeeft. Ga er van uit dat deASCII-file als volgt is opgebouwd: De eerste kolom bevat tijdstippen, de tweede en derdekolom bevat meetwaarden als functie van de eerste kolom, schematisch weergegeven:t1 x1 y1t2 x2 y2t3 x3 y3.. .. ..tn xn ynmet t1,t2..tn: tijden; x1,x2..xn en y1,y2..yn meetwaardenFunctie: datagraf('filenaam')Invoer: 'filenaam'Uitvoer: grafische weergave2.5) 2D grafiekena) definieer een vector x=0:0.05:12b) plot sin(x) en cos(x)c) ga na wat de volgende commando's doen en pas deze toe:- title- xlabel, ylabel- grid- gtext- semilogx, semilogy, loglogd) maak 1 grafische scherm met 4 subgrafieken van sin(x),cos(x),tan(x),x.^2 m.b.v. hetcommando subplote) maak 4 grafische schermen met grafieken van sin(x),cos(x),tan(x),x.^2 m.b.v. hetcommando figuref) Pas de volgende commando's toe door het maken van een grafiek:- errorbar- hist- polar2.6) 3D grafiekena) definieer een grid voor 3D grafieken:[X,Y]=meshgrid(-2:0.2:2);b) definieer Z als:Z=X .* exp( -X .^2 - Y.^2 );c) Pas de volgende commando's toe:- mesh, meshc, meshz- contour, contour3- surf, surfc, surfl- shading (in combinatie met surf)- view (in combinatie met surf)- colorbar (in combinatie met surf)


3. TOEPASS<strong>IN</strong>G<strong>EN</strong> <strong>VOOR</strong> BOUWFYSICAEen introductie in MatLab voor bouwfysicipag 17In dit hoofdstuk komen een drietal items aan de orde die nuttig kunnen zijn voorbouwfysici. De eerste paragraaf behandelt een voorbeeld van het fitten van meetdata meteen bepaalde kromme. In de tweede paragraaf worden enkele commando's van debouwfysische Toolbox toegelicht. In de derde paragraaf wordt ingegaan op eenvoudigesimulaties.3.1 Data fitting / oplossen van vergelijkingencommando's: fminsIn de bijlage staat een beschrijving van het MatLab commando fmins.Als voorbeeld wordt een data fitting met een rechte lijn gebruikt. Stel de volgende datazijn gemeten:xdat=[1 2.2 3.1 3.8 5];ydat=[2.1 3.8 6.5 8 11];global xdat ydatplot(xdat,ydat,'+')1110987654321 1.5 2 2.5 3 3.5 4 4.5 5


Een introductie in MatLab voor bouwfysicipag 18Maak een fitfunctie aan genaamd linefun.m :function q=linefun(p)global xdat ydata=p(1);b=p(2);q=(a*xdat+b)-ydat;q=sum(q.^2);Deze functie geeft voor iedere vector p bestaande uit [a b] de som van de kwadraten vande afwijkingen met de rechte lijn. Met fmins wordt een vector p uitgerekend waarbij desom van de kwadraten minimaal is zodat in dit geval de beste fit van een rechte lijnverkregen wordt.fitpar=fmins('linefun',[1 1])fitpar =2.2806 -0.6074De volgende commando's genereren een plot van de meetdata en fitting:xfit=1:5;yfit=fitpar(1)*xfit+fitpar(2);plot(xdat,ydat,'+',xfit,yfit)11109876543211 1.5 2 2.5 3 3.5 4 4.5 5


Een introductie in MatLab voor bouwfysicipag 19Oefeningen:3.1.1) Fit de data uit de file 'data.dat' met de kromme :y = C1 + C2*exp(C3*T)Bepaal de beste C1,C2 en C3.Wat stelt C3 voor ?3.1.2) Los het volgende stelsel vergelijkingen op m.b.v. 'fmins':sin(x) +y2 + log(z) -7 =03x + 2y - z3 +1 = 0x + y + z = 53.1.3) Los op : x2 = tan(x) voor 0


Een introductie in MatLab voor bouwfysicipag 20zonposAzimuth en zonshoogteAls voorbeeld zullen we een toepassing van de mollier2 routine laten zien. Om te zienhoe de input en output is van deze routine, type we:help mollier2MOLLIER2 Mollier berekingenGebruikt globale variabele molvarmolvar(1) = dauwpunt temperatuur [oC]molvar(2) = Verzadigingsdampdruk [Pa]molvar(3) = Luchttemperatuur [oC]molvar(4) = R.V. [ 0 ..1 ]molvar(5) = Dampspanning [Pa]molvar(6) = Vochtgehalte [kg/kg]molvar(7) = Bevochtigingsgraad [-]molvar(8) = Enthalpie [kJ/kg]molvar(9) = Dichtheid lucht [kg/m^3]molvar(10) = Maximale vochtgehalte [kg/kg]molvar(11) = Natte bol temperatuur [oC]De variabele molvar moet globaal gedeclareerd worden. Molvar bevatallemaal nullen behalve op 2 willekeurige plaatsen, die men een waardekanopgeven.Oplossing via het commando 'mollier' geeft een vector met 10waardenVoorbeeld:global molvarmolvar=zeros(11,1);molvar(1)=25;molvar(3)=42;x=mollierGegeven is nu bijvoorbeeld de luchttemperatuur van 25 o C en een relatieve vochtigheidvan 60% en we willen de overige beschikbare gegevens weten:global molvarmolvar=zeros(11,1);molvar(3)=25;molvar(4)=0.6;u1=mollier2u1 =1.0e+003 *0.01673.17350.02500.00061.90410.00000.00060.05520.00120.00000.0195


Een introductie in MatLab voor bouwfysicipag 21Deze lucht gaat een klimaat installatie in en komt er uit met een luchttemperatuur van 10o C en een relatieve vochtigheid van 80%, dan geldt voor deze situatie:


Een introductie in MatLab voor bouwfysicipag 22molvar=zeros(11,1);molvar(3)=10;molvar(4)=0.8;u2=mollier2u2 =1.0e+003 *0.00671.22980.01000.00080.98380.00000.00080.02530.00120.00000.0083Het volumebiet is 1000 m 3 per uur, de hoeveelheid afgevoerde vocht [kg/uur] kanbepaald worden met :Q=1000*u2(9)*(u1(6)-u2(6))Q =7.2273Opgaven :3.2.1. Klimaatgegevens (climdata)a) plot de uurlijkse temperaturen van 1976b) maak een histogram van de temperatuurc) maak een 'windroos' van de meest voorkomende windrichting m.b.v. een 'polar'-plotd) bepaal de maandgemiddelden van de temperatuur en partiële dampspanning vanhet jaar 1976. (Gebruik 'ps' ). Bewaar deze waarden voor de volgende opgave m.b.v. het'save' commando.


Een introductie in MatLab voor bouwfysicipag 233.2.2. Glaser berekeninga) Bepaal de temperaturen en partiële dampspanningen van de volgende constructiem.b.v.'glaserpl' , met de warmte-overdrachtescoefficienten : intern: 7.7, extern: 25en vocht-overdrachtescoefficienten : intern: 0.3e-7, extern: 6e-7.b) Op welk vlak treedt condensatie op, en hoeveel ? (Gebruik hier 'glaserf')c) Bepaal met de in onderdeel a) berekende maandgemiddelde temperatuur en partiëledampspanning, in welke maanden er condensatie optreedt.


Een introductie in MatLab voor bouwfysicipag 243.2.3. PMV berekeninga) Bepaal de PMV uurwaarden van een wandelend persoon (MET=200) in winterkleding(clo=1) op 1-1-1976. Neem daarbij aan dat de stralingstemperatuur gelijk is aan deluchttemperatuur en dat er geen uitwendige arbeid wordt verricht.Gebruik hiervoor ook 'climdata'. Geef de PMV grafisch weer.b) Bepaal de stralingsluchttemperatuur op 1-1-1976 m.b.v. van de volgende formuleTslqzon= Tl+ ε ⋅αmetε=0.5α=20qzon = directe zonne-instralingc) Bepaal opnieuw de PMV uurwaarden met de hierboven berekendestralingsluchttemperatuur.d) Bepaal de PPDe) Herhaal a) t/m d) voor een zomersituatie: 1-8-1976 en clo=0.5.3.2.4. Zonnepositiea) Bepaal de tijd van zonsopkomst en zonsondergang van vandaag.Voor DeBilt: latitude=52.1 , longitude=5.1local standard time merdian=15b) Bepaal de hoeveelheid directe zonstraling (per m2) op 1-1-1976 op een vlak in DeBilt,gericht op het zuiden en die een hoek van 45o maakt met de horizontaal.3.3 SimulatiesAlvorens in te gaan op een voorbeeld van een simulatie van een instationaire temperatuurberekening in een constructie, worden nu eerst enkele basisbegrippen behandelt dienoodzakelijk voor het uitvoeren van simulaties.Het oplossen van stelsels differentiaal vergelijkingen gebeurt in MatLab met het ode23commando. In de bijlage is een beschrijving opgenomen van het MatLab commando:ode23 . Bestudeer deze bijlage en het bijbehorende voorbeeld van het oplossen van deVanderPol vergelijking.Nu volgen wat basis formules voor het simuleren van concentraties in ruimten eninstationaire warmte-transport in een constructie.


Concentratie verloop in een ruimte met een uniforme concentratie:Een introductie in MatLab voor bouwfysicipag 25In figuur 3.3.1 is een ruimte weergegeven met inblaas en afvoer mechanisme:.m im.meFiguur 3.3.1 Ruimte met inblaas en afvoer mechanismeEr geldt :<strong>IN</strong> - UIT = OPSLAGofwel :dmdt= m& − m& met :iem= C⋅Vm&im&e= C ⋅φi= C⋅φen:m = massa [ kg]C = concentratie [ kg ]3m3V = volume[ m ]3mφ = volumedebiet [ ]sInvullen levert :dC⋅Vdt= C ⋅φ−C⋅φidC φ= ⋅ (dt V C C i− )Deze laatste vergelijking is een 1e orde differentiaal vergelijking die gebruikt wordt inopgave 3.3.2.


Een introductie in MatLab voor bouwfysicipag 26Instationair warmte-transport in een constructieIn figuur 3.3.2 is een gediscretiseerd element van een constructie weergegeven:Ti-1TiR1R2Ti+1CFiguur 3.3.2. Gediscretiseerd element van een constructie.<strong>IN</strong> - UIT = OPSLAGofwel:dQdt= Q&− Q&ieOpslag: Q = C ⋅T [ J]Warmtestroom: Q&=∆TRC dT T⋅ =dt− TRT−− Ti i− 1 i i i+11R2C = ρ ⋅c⋅VdR =λ ⋅ A( geleiding )1R =α ⋅ A( convectie )We zullen het gebruik van deze vergelijkingen toelichten aan de hand van een voorbeeld.


Voorbeeld van instationair warmte-transport in een constructieEen introductie in MatLab voor bouwfysicipag 27In figuur 3.3.3. is een constructie bestaande uit een materiaal gediscretiseerd in 3elementen:TiT 1R1R2T 2R3T3R4TeC1C2C3T iT eFiguur 3.3.3 Discretisatie van een constructieToepassen van de bovenstaande vergelijkingen levert voor de temperaturen T1 t/m T3:dTdtdTdtdTdt⎛ Ti− T= ⎜⎝ R1 1⎛ T − T= ⎜⎝ R⎛ T= ⎜⎝12 1 22− TR3 2 33T − T−RT−1 22− TR2 33T3− T−R4⎞⎟ / C1⎠e⎞⎟ / C2⎠⎞⎟ / C3⎠Bij het oplossen van differentiaal vergelijkingen met ode23, moet een functie wordengemaakt met daarin de differentiaal vergelijkingen. Maak met een tekst editor de fileodevbf2.m aan :%ODEVBF2 ODE routine voorbeeld 2%% functie dT/dtfunction dTdt=odevbf2(t,T)


Een introductie in MatLab voor bouwfysicipag 28global R1 R2 R3 R4global C1 C2 C3global Ti TedTdt(1)=( (Ti-T(1))/R1 - (T(1)-T(2))/R2)/C1;dTdt(2)=( (T(1)-T(2))/R2 - (T(2)-T(3))/R3 )/C2;dTdt(3)=( (T(2)-T(3))/R3 - (T(3)-Te)/R4 )/C3;De parameters van de differentiaal vergelijkingen (C1,C2,C3,R1,..,R4,Ti,Te) wordenglobaal gemaakt zodat ze later in het hoofdprogramma eenvoudig kunnen wordenaangepast. Het aansturen van bovenstaande file met differentiaal vergelijkingen kan methet volgende hoofdprogramma genaamd odevb2.m :%ODEVB2 ODE routine voorbeeld van warmtetransport% door een constructie%global R1 R2 R3 R4global C1 C2 C3global Ti Te% gegevens muur:A=1;lamda=1;c=840;rho=1200;d=0.2;% Randvoorwaarde ExternTe=0;alpha_e=25;% Randvoorwaarde InternTi=20;alpha_i=7.7;% Bepaling R'sR1=1/(A*alpha_e);R2=(d/2) / (A*lamda) ;R3=(d/2) / (A*lamda) ;R4=1/(A*alpha_i);% Bepaling C'sCtotaal=rho*c*A*d;


Een introductie in MatLab voor bouwfysicipag 29C1=Ctotaal/4;C2=Ctotaal/2;C3=Ctotaal/4;% Start/Eindtijd:tbegin=0;teind=48*3600;% Beginwaarden van de TT0=[0 0 0];% Start rekenroutine 1[t,T]=ode23('odevbf2',tbegin,teind,T0');% Plot resultaatplot(t,T)xlabel('t [s] ')ylabel('T [oC] ')Het resultaat van het bovenstaande hoofdprogramma :odevb21816141210864200 0.5 1 1.5 2x 10 5Opgaven:


Een introductie in MatLab voor bouwfysicipag 303.3.1. Oplossen differentiaal vergelijkinga) Gegeven is de volgende d.v. en beginwaarde:y' = (-x-e x ) / (3y 2 ) , y(0)=3Los bovenstaande d.v. met beginwaarde op, voor x in het interval: [0, 2]b) Plot y als functie van x.c) De exacte oplossing van a) is :y = (28 - 0.5x 2 - e x ) 1/3Plot de exacte oplossing en numerieke oplossing in een grafiek3.3.2. Concentratie verloop in een ruimtea) Stel de differentiaalvergelijking op voor het concentratie verloop (CO2) in een ruimtemet ‚‚n toevoer en ‚‚n afvoer. In de ruimte is een bron G aanwezig.b) Bepaal de concentratie in de ruimte met de volgende gegevens:Volume = 80 m3Volumedebiet = 100 m3 / uurInblaasconcentratie = 200 ppmConcentratie in ruimte op t=0 : 1000 ppmBronsterkte(G) = 0starttijd = 0 seceindtijd = 7200 secc) De bronsterkte G wordt nu ingeschakeld en wordt als volgt beschreven:G= abs(10*sin(t/1200)Bepaal weer de concentratie in de ruimte als functie van de tijd


Een introductie in MatLab voor bouwfysicipag 313.3.3 Temperatuur in broeikasEen broeikas is in zijn geheel gebouwd van glas. De bodem is goed geïsoleerd. Er is geenventilatie met de buitenlucht. De afmetingen zijn 2 x 2 x 2 m 3 .Het probleem kan door hetvolgende analogon worden voorgesteld:(1-ZTA)*Azon*qzonT iT 1T 2R1R2R3C1C2ZTA*Azon*qzonT3T4R4C3C4GLASLUCHTFiguur 3.3.4Model voor een broeikas van glas.Met:R1=1/(αe*A), R2=R3=d/(2*λ*A), R4=1/(αi*A),C1=C3=ρ glas *c glas *V glas , C2=2*C1 C4==ρ lucht *c lucht *V luchtDe volgende gegevens zijn beschikbaar:glas lucht OverigeAtotaal : 20 m 2 volume: 8 m3 Azon: 8 m2dikte: 5 mm ρ: 2500 αe: 25ZTA: 0.8 c: 840 αi: 7.7λ: 1ρ: 2500c: 840a) Simuleer de binnentemperatuur van de broeikas met bovenstaande gegevens, Neemvoor de buitentemperatuur: Te(t)=10+abs(20*sin(pi*t-pi/2)) en voor qzon: q_zon(t)=0b) Analoog aan a) maar nu met q_zon: q_zon(t)=600*abs(sin(pi*t))


Een introductie in MatLab voor bouwfysicipag 32LITERATUUR1. MatLab User's Guide, The Math Works Inc. 19922. MatLab for Engineers, A. Biran en M. Breiner, Addison-Wesley Publishing Company,19953. Engineering problem solving with MatLab, D.M. Etter, Prentice Hall, 1993WWW-PAG<strong>IN</strong>A'S1. http://www.mathworks.com/2. http://forum.swarthmore.edu/epigone/comp.soft-sys.matlab3. http://www.mathtools.com/mtoolbox.html4. http://www.mathsource.com/index.html (Mathematica)5. http://www.mathsoft.com/ (MathCad)


Een introductie in MatLab voor bouwfysicipag 33BIJLAGE AQuick Refence Guide


Een introductie in MatLab voor bouwfysicipag 34


Een introductie in MatLab voor bouwfysicipag 35


Een introductie in MatLab voor bouwfysicipag 36


Een introductie in MatLab voor bouwfysicipag 37


Een introductie in MatLab voor bouwfysicipag 38


Een introductie in MatLab voor bouwfysicipag 39


Een introductie in MatLab voor bouwfysicipag 40


Een introductie in MatLab voor bouwfysicipag 41


Een introductie in MatLab voor bouwfysicipag 42BIJLAGE AMatLab beschrijving van fmins


Een introductie in MatLab voor bouwfysicipag 43


Een introductie in MatLab voor bouwfysicipag 44


Een introductie in MatLab voor bouwfysicipag 45BIJLAGE CMatLab beschrijving van ode23


Een introductie in MatLab voor bouwfysicipag 46


Een introductie in MatLab voor bouwfysicipag 47

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!