Ingenjörsmetodik IT & ME 2011 Föreläsning 12
Dagens innehåll & mål Fortsättning på mätvärdesbehandling Använder MATLAB för att titta på begreppet fördelning Exemplifierar MATLAB funktioner mha statistikens formler Använder symbolisk matematik i MATLAB för att hantera sammansatt fel
Läsanvisningar till böckerna MATLAB delar av kap 3 (3.4 & 3.5) Grimvall Kap 11.2 Även MATLAB kapitel 7 ’Symbolic Mathematics’ Create and manipulate symbolic variables Factor and simplify mathematical expressions Solve symbolic expressions Solve systems of equations and Determine the symboluic derivative of an expression and integrate an expression
Förra föreläsningens mål (F11) Grimvall ”att kunna beskriva vilka begrepp som används inom mätdatabehandling” ”att förstå hur dessa begrepp relaterar till givna mätvärden” ”kunna utföra statistiska beräkningar mha formelsamling” MATLAB ”use statistical functions, generate uniform and Gaussian random sequences”
Frågor från förra gången Inlämingstiden för MATLAB delens rapport bestämd till tisdagen 18/10, kl 23.59 (svensk tid) Tillåtna hjälpmedel på tentamen ? Hjälpmedel vid tentamen är boken ’Ingenjörens verktyg’ av Grimvall, samt boken Introduction to Matlab (Pocket) av Etter, Dolores 2010 (ISBN 0136081231) , linjal och miniräknare. OBS! Ni måste ha med er egna hjälpmedel! Ni får ej låna böcker, kompendier eller miniräknare av varandra på tentamen!
Exempel på statistikfunktioner
Exempel på statistikfunktioner Omvandla vinklar från grader till radianer theta=[45.1 45.3 44.8 45.1 45.0 45.4 45.2 45.6]' theta = 45.1000 45.3000 44.8000 45.0000 45.4000 45.2000 45.6000
Exempel på statistikfunktioner radianer=pi/180*theta radianer = 0.7871 0.7906 0.7819 0.7854 0.7924 0.7889 0.7959
Exempel på statistikfunktioner mean(theta) ans = 45.1875 >> std(theta) 0.2475
Index Vanliga parenteser ( ) kallas index för ett matriselement medel=sum(theta)/8 medel = 45.1875 >> medel=(theta(1)+theta(2)+theta(3)+theta(4)+... theta(5)+theta(6)+theta(7)+theta(8))/8 Vanliga parenteser ( ) kallas index för ett matriselement
Inbyggda funktioner >> n=size(theta) n = 8 1 >> n(1) ans = 8 1 >> n(1) ans = 8
Inbyggda funktioner Standaravvikelsen med vektorberäkning och (elementvis upphöjt till 2) .^2 >> s=sqrt(1/(n(1)-1)*sum((theta-medel).^2)) s = 0.2475
Statistik plottar Plot kommandot för att rita ut mätpunkter Line kommandot för linjer >> plot(theta,'ro') >> line([1 8],[medel medel]) >> line([1 8],[medel+s medel+s]) >> line([1 8],[medel-s medel-s])
Statistik plottar
Grafer och figurer >> hist(theta)
Statistics toolbox
Statistics toolbox
Exempel på statistikverktyg (tools) Ta data från följande gamla tentauppgift Kan man säga att medelvärdet för dessa 10 värden är en bra uppskattning av det sanna värdet för denna mätning? Motivera med en figur (3 p)! Beräkna standardavvikelsen för de 4 första värdena samt för alla 10 värden (2 p).
Exempel på statistikverktyg (tools)
Funktioner i MATLAB 3.6 Alla inbyggda kommandon i matlab har formen av en funktion T.ex. cos(x), size(x), ... Man kan ANROPA sina EGNA funktioner
Funktionsfiler Öppna matlab-editorn Definiera in- och ut-värden till funktionen och funktionens NAMN Skriv in dina ekvationer Spara filen med samma namn som funktionen och suffixet .m
Funktionen stat.m function [medel,s] = stat(x) n = length(x); medel = sum(x)/n; s = sqrt(sum((x-medel).^2/(n-1)));
Program vs. funktion Enkelt program statenkel.m Enkel funktion stat.m x=randn(100,1); n = length(x); medel = sum(x)/n; s = sqrt(sum((x-medel).^2/(n-1))); function [medel,s] = stat(x)
Testa din funktion Anropa funktionen stat stat(randn(100,1)) Svaret blir? Kan prova histfit eller normfit
Återkoppling till tidigare material mha symbolisk matte Använder symbolisk matematik i MATLAB (kap 7) för att hantera sammansatt fel (Gauss formeln) Motivering 1 – innehåller en typ av derivering som ligger utanför förkunskaper/denna kurs Motivering 2 – ett sätt att återanvända kod utan att skriva ”funktioner” Motivering 3 – väldigt likt det vi gjorde med enheter, dimensioner i kap 1 & 6
Minns ni Gauss formel? Flera oberoende ”fel” variationer påverkar slutresultatet Enligt bokens variant II får man ett uttryck där man summerar absolutbelopp och där derivator ingår
Gauss formel på symbolisk form Enligt målen borde vi kunna hantera detta Hitta de ingående (symboliska) variablerna i problemet Vi kan välja, F, x, y, Dx, Dy Create and manipulate symbolic variables Factor and simplify mathematical expressions Solve symbolic expressions Solve systems of equations and Determine the symboluic derivative of an expression and integrate an expression
Gauss formel på symbolisk form >> syms F x y deltax deltay >> F=1/(2*pi*sqrt(x*y)) F = 1/(2*pi*(x*y)^(1/2)) >> deltaF=sqrt((diff(F,x)*deltax)^2+(diff(F,y)*deltay)^2) deltaF = (deltax^2/(16*pi^2*x^3*y) + deltay^2/(16*pi^2*x*y^3))^(1/2) >> subs(deltaF,{x, y, deltax, deltay},{0.6e-9, 10e-12, 0.1e-9, 0.1e-12}) ans = 1.7153e+008
Gauss formel på symbolisk form >> syms F L C deltaL deltaC >> x=L x = L >> y=C y = C >> F=1/(2*pi*sqrt(x*y)) F = 1/(2*pi*(C*L)^(1/2)) >> deltax=deltaL deltax = deltaL >> deltay=deltaC deltay = deltaC >> deltaF=sqrt((diff(F,x)*deltax)^2+(diff(F,y)*deltay)^2) deltaF = (deltaC^2/(16*C^3*L*pi^2) + deltaL^2/(16*C*L^3*pi^2))^(1/2)
Gauss formel på symbolisk form >> subs(deltaF,{L, C, deltaL, deltaC},{0.6e-9, 10e-12, 0.1e-9, 0.1e-12}) ans = 1.7153e+008 >> subs(deltaF,{x, y, deltax, deltay},{0.6e-9, 10e-12, 0.1e-9, 0.1e-12})
Symbolisk behandling av enheter >> syms kg m s >> N=kg*m*s^-2 N = (kg*m)/s^2 >> W=N*m W = (kg*m^2)/s^2 >> V=W/sym('A') V = (kg*m^2)/(A*s^2)
Symbolisk behandling av dimensioner Kan lösa ekvationssystem på s.133 i boken på den form som det är skrivet!
Sammanfattning Har repeterat de viktigaste statistikbegreppen genom att se hur de kan användas i MATLAB Har jobbat med symbolisk matematik för sammansatt fel Gauss formeln men även exempel från enheter/dimensionsanalysen (kap1 & kap6)
Nästa gång Repetition av nyckelbegrepp och metoder i kursen inför tentamen