Lappskrivningen som redovisning av Lab.2 Av 16 deltagare klarade 1x skrivningen och får 1,5 bonuspoäng på tentan. På två frågor var det ganska många som svarade fel: Symboliska matematiken och noggrannhetskurvorna x Yngve Sundblad Föreläsning 12 sid. 1 SF 1518/19 ht 215 12 oktober
Noggranhetsordning Streckade ändrar ca två tiopotenser för en i h, uppför sig som h 2. Punkt-streckade ca 4 tiopotenser för en i h, alltså som h 4. Heldragna som ca 6 tiopotenser, sen stör datorns begränsade noggrannhet, h 6. Trunkationsfelet i centraldifferens är f /3!*h 2 +f v /5!*h 4 + Alltså streckade centraldifferens, punktstreckade ett steg Richardson (h 2 eliminerat) Yngve Sundblad Föreläsning 12 sid. 2 SF 1518/19 ht 215 12 oktober
Materialexempel - dragprov Holly Moore ex 5.11 Provstaven (5 cm * 1,3 cm 2 ) dras s successivt med kraften F (Newton) Förlängning (my) 9 9 6 18 118 27 175 3375 235 36 32 3825 458 45 77 4275 125 45 1875 Modell: Linjärt i draget, stress = F / Area (N/cm 2 ) = k*stress Yngve Sundblad Föreläsning 12 sid. 3 SF 1518/19 ht 215 12 oktober
Deformering i MATLAB stress=[:9:27,3375:225:45]/1.3; deform=[,6,118,175,235,32,458,77,125,1875]; 4 3.5 reld=deformmy/1/5; 3 2.5 plot(stress,1*reld, 'k'); 2 1.5 xlabel('drag i N/cm^2'); Ylabel('Relativ deformation'); yp=input('yield point nr? ');.5 1 1.5 2 2.5 3 3.5 Drag i N/cm 2 #1 4 L1=polyfit(stress(1:yp-1),reld(1:yp-1),1); k1=1e6*l1(1); L2=polyfit(stress(yp+1:1),reld(yp+1:1),1); k2=1e6*l2(1); fprintf('kelast:v%6.2f kplast:%6.2f miljondelar\n',k1,k2) Linjära modellen stämmer, men först elastisk deformering, sedan, vid punkt 6 (ca 28 Newton/cm 2,.5%), yield point, övergång till plastisk deformering. Först k.18 miljondelar, sedan k=5.47 i % / N Yngve Sundblad Föreläsning 12 sid. 4 SF 1518/19 ht 215 12 oktober Relativ deformation % 1.5
Deformeringskurva 4 3.5 3 Relativ deformation % 2.5 2 1.5 1.5.5 1 1.5 2 2.5 3 3.5 Drag i N/cm 2 #1 4 Yngve Sundblad Föreläsning 12 sid. 5 SF 1518/19 ht 215 12 oktober
Grafisk interaktion (GUI) i MATLAB MATLAB innehåller en UIB (gränssnittsbyggare, User Interface Builder) som anropas med kommandot guide. Det ger ett fönster där man väljer Blank GUI (default) och klickar på OK. Då får man fönstret Knapparna till vänster betyder Select Push button Slider Radio button Check box Edit text Static text Popup menu Listbox Toggle button Table Axes Panel Button group och dras ut på stora ytan Yngve Sundblad Föreläsning 12 sid. 6 SF 1518/19 ht 215 12 oktober
guide exempel 1 (3) Vi drar ihop en av varje av Static text, Edit text och Axes i avsikt att göra ett polygonritningsprogram. Genom att dubbelklicka på knapparna på redigeringsytan ger man dem egenskaper: Vi har bytt text på Static text till n=antal sidor och tagit bort standardtexten Edit text på den knappen. Storlek och läge fixar vi med markering och klick. Vi döper via File till polygon.fig och trycker på gröna knappen. Yngve Sundblad Föreläsning 12 sid. 7 SF 1518/19 ht 215 12 oktober
guide exempel 2 (3) Resultatet är mallen till höger. Nu ska vi fylla den med innehåll. Det vi gjort har skapat filen polygon.m, som vi får i ett Edit-fönster genom att öppna den från kommandofönstret. Det är en massa svårtydbar kod, det enda vi behöver modifiera är Callback för de knappar som vi vill interagera med och öppningsfunktionen, i vårt fall edit1_callback och polygon_gui_openingfcn Vi hittar Callback för Edit-text-knappen genom att dubbelklicka på den och välja Callback-egenskapen. Vi hamnar i polygon.m-fönstret på Callback-funktionen och kan modifiera koden som till höger. function edit1_callback( hobject,eventdata,handles) sides=str2num(get( hobject, 'String')) t=:2*pi*/sides:2*pi; r=ones(1,length(t)); polar(t,r); Title('n-sidig polygon') Yngve Sundblad Föreläsning 12 sid. 8 SF 1518/19 ht 215 12 oktober
guide exempel 3 (3) Det färdiga interaktiva programmet: Yngve Sundblad Föreläsning 12 sid. 9 SF 1518/19 ht 215 12 oktober
Plottning av kurvor i 3D Med plot3(x,y,z) kan man göra 3D-grafer (i perspektiv). Exempel fjäder: x=:pi/1:1*pi; y=cos(x); z=sin(x); plot3(x,y,z); grid xlabel('angle'); ylabel('cos(x)'); zlabel('sin(x)'); title('spring'); sin(x) 1.5 -.5-1 1 Spring.5 3 2 -.5 1 cos(x) -1 angle Yngve Sundblad Föreläsning 12 sid. 1 SF 1518/19 ht 215 12 oktober 4
Plottning av ytor i 3D Med mesh(x,y,z), surf(x,y,z) och contour(x,y,z) kan man göra 3D-grafer (i perspektiv) av ytor Man behöver förbereda med lika långa koordinatvektorer för x och y och ett tvådimensionellt gitter (mesh) av z-värden för alla par (x,y). Om inte z-värdena anges explicit utan som en funktion av x och y så måste man göra om x och y till matriser med meshgrid(x,y); Exempel: Ytan z=x*e x2 y 2 för -2 x 2 och -2 y 2 På nästa sida visas hur mesh, surf och contour fungerar på detta exempel: x=-2:.2:2; y=-2:.2:2; [X,Y]=meshgrid(x,y); Z=X.*exp(-X.^2-Y.^2); subplot(2,2,1);mesh(x,y,z);title('mesh plot'); subplot(2,2,2);surf(x,y,z);title('surf plot'); subplot(2,2,3);contour(x,y,z);title('contours'); Y Yngve Sundblad Föreläsning 12 sid. 11 SF 1518/19 ht 215 12 oktober
Mesh plot Plottade ytor i 3D Surf plot.5.5 -.5 2-2 -2 2 -.5 2-2 -2 2 2 Contours 1-1 -2-2 -1 1 2 Yngve Sundblad Föreläsning 12 sid. 12 SF 1518/19 ht 215 12 oktober
Simulink Startas med MATLAB-kommandot simulink Ger tillgång till bibliotek av moduler som man kan koppla ihop till ett program för att simulera ett förlopp, från indata via beräkningsmoduler till utdata, se startfönster på nästa sida. Trivialt exempel skapat med tryck på som ger arbetsarea och indragning av Commonly Used: två Constant och en addition samt Sink: Display och förbindande av dessa ger efter körning (grön knapp): Ett riktigt avancerat exempel är simulering av galaxbildning (modulprogrammet sldemo_eml_galaxy på nästa sida): model = 'sldemo_eml_galaxy ; open_system(model); ger fönstret två sidor fram. Yngve Sundblad Föreläsning 12 sid. 13 SF 1518/19 ht 215 12 oktober
Startfönster Simulink Yngve Sundblad Föreläsning 12 sid. 14 SF 1518/19 ht 215 12 oktober
Modellering av galaxfödelse i Simulink sim(model); ger en animering vars slut ses på nästa sida. Yngve Sundblad Föreläsning 12 sid. 15 SF 1518/19 ht 215 12 oktober
Resulterande simulering (rörlig bild) Yngve Sundblad Föreläsning 12 sid. 16 SF 1518/19 ht 215 12 oktober
Styva differentialekvationsproblem I tekniska problem som leder till differentialekvationer finns det ofta komponenter med mycket olika snabbhet. Då klarar man sig med långa steg i den långsamma men behöver korta steg för den snabba, vilket kan leda till orimligt omfattande räknearbete för den långsamma. Sådana problem kallas styva (eng. stiff). Exempel: Kopplat radioaktivt sönderfall av A (u 1 kg) till B (u 2 ), B i sin tur: du 1 /dt = k 1 u 1, du 2 /dt = k 1 u 1 k 2 u 2,, u 1 () = 1, u 2 () = Om k 1 >>k 2 så är problemet styvt, styvhetskvoten är k 1 /k 2. Exempel: 213 Po -> 29 Pb, k=1654/sec, 29 Pb -> 29 Bi, k=5.8*1-5 /sec, styvhetskonstant 2.8*1 9. Fotnot: KTH-institutionen för Numerisk analys grundades 1963 med Germund Dahlquist (1925-25) som förste professor. Germund var världsstjärna på metoder för styva problem. D-stabilitet är där ett begrepp. Yngve Sundblad Föreläsning 12 sid. 17 SF 1518/19 ht 215 12 oktober
Yngves utveckling Teknisk fysik, Teoretisk fysik 1961 66 Numerisk analys 1967 8, 21 Symbolisk matematik 1968 77, avhandling Beräkningsmatematikens historia 21 Datalogi 197 Verktyg: Objektorienterad programmering 197 Människa-datorinteraktion 198 GUI Grafiska gränssnitt Verktyg: Objektorientering, User-interface builder 1985 Yngve Sundblad Föreläsning 12 sid. 18 SF 1518/19 ht 215 12 oktober
Laboration 3 och resten av kursen Lydelsen till Lab.3 finns på kurswebben sedan 5/1, uppdaterad deluppgift 2: Visa att k(x) och dess derivata är kontinuerliga! Fortsatt handledning i datorsalar 13/1 13-15, 15/1 13-15 Skriftlig rapport enligt anvisningar på kurswebben lämnas senast 22/1 i brevlådan vid mattes expedition för bonuspoäng. Den måste ändå lämnas in för godkänt på kursen! På övningen tisdag 13/1 går vi igenom extentor från förra kursen. Föreläsningen onsdag 14/1 1-12 ägnas åt repetition, fundera igenom vad du vill att jag tar upp. Tentamen torsdag 29/1, läsanvisningar på kurswebben Projekt 3-23 november, start i B2 3/11 1-12 OBS! Dagens stoff är överkurs, frånsett lappskrivning och dragprov Yngve Sundblad Föreläsning 12 sid. 19 SF 1518/19 ht 215 12 oktober