TMV176 Inledande matematik TD Inlämningsuppgift i MATLAB, 2012 Lägg in dina lösningar, M-ler (kommenterade), gurer oh testresultat (det är viktigt att du testar dina program oh redovisar resultaten av testerna), tillsammans med förklarande text, i ett dokument oh skika i form av pdf med epost till nenhalmers.se. Endast en l ska skikas, skika inga M-ler separat. Sista inlämningsdag: måndag 15/10. I dokumentet ska du ange namn, personnummer. I brevets Subjet: ska det stå Matlab TD: Efternamn, förnamn, Subjet: Matlab TD: Erisson, Niklas till exempel, Det är tillåtet att diskutera uppgifterna med varandra, men det är viktigt att var oh en skriver en egenhändigt formulerad presentation där lösningarna redovisas oh förklaras med egna ord. Lyka till! 1. Hur skrivs följande uttryk i MATLAB: 1 + 2 × (3 + 4) 5 b) |3 − 4i| a) ) e d) √ 1+ 5 2 √ 4 16 − √ 3 27 9,6×106 3,2×10−4 f ) ln(2 cos(π/4)) e) g) sin(30◦ ) √ h) tan−1 ( 3) 2. Hur skapar du i MATLAB radvektorer med följande element: a) 1, 6, 11, 16, 21, ..., 191, 196, 201 b) 100, 99, 98, ..., 3, 2, 1 ) 1, 4, 9, 16, 25, ..., 9604, 9801, 10000 3. Skriv en skriptl heron.m som beräknar oh skriver ut arean använda Herons formel : ber användaren att mata in tre tal A A= där s= För att a, b oh c, oh därefter a, b oh c genom att av en triangel med sidlängderna p s(s − a)(s − b)(s − c) a+b+c är halva omkretsen. 2 a, b oh c skall kunna vara sidor i en triangel får inte en sida vara längre än summan av de övriga två sidornas längder, t.ex. så får inte 1 a > b+c (analogt för övriga två sidor). Programmet skall testa att de inmatade sidorna inte bryter mot detta. I så fall skall användaren uppmanas att mata in tre nya sidor. Detta skall upprepas så länge som användaren gör en felaktig inmatning. Använd fprintf för formatterad utskrift, där den beräknade arean skrivs ut med tre dei- maler enligt körningsexemplet nedan. Testkör för några värden på a, b oh c där du vet vad arean skall bli (t.ex. en rätvinklig triangel, en liksidig triangel oh en likbent triangel) oh kontrollera att du får korrekta svar. Körningsexempel: >> heron Detta program beräknar arean av en triangel med sidorna a, b oh Mata in a: 3 Mata in b: 4 Mata in : 8 Otillåten triangel Mata in a: 3 Mata in b: 4 Mata in : 5 Triangeln har arean A = 6.000 4. Plotta följande funktionsgrafer i ett gurfönster indelat i en Funktionerna 1 × 3-matris med delgurer. subplot oh plot skall användas. Skriv etiketter vid axlarna oh lägg på grid. Skriv funktionsuttryken i gurtitlarna. a) y = f (x) = √ x , x2 +1 för b) y = f (x) = sin(x/2) + cos(x), −5 ≤ x ≤ 5 för ) y = f (x) = x e för 0 ≤ x ≤ 4π 2 −x 5. a) Plotta följande − 0.2, sadelyta. 2 b) 6. a) z = f (x, y) = x − y 2 Funktionen , Plotta följande kurva (en x = y = z = Skriv en t cos(t) t sin(t) t för surf skall användas. −1 ≤ x ≤ 1, −1 ≤ y ≤ 1 konisk skruvlinje ): , för 0 ≤ t ≤ 10π funktionsl funk6.m som beräknar y = f (x), y = f (x) = Inparameter: x Utparameter: y = f (x) b) −1 ≤ x ≤ 7 0, x, 1, 3−x 0, (ett reellt tal) funktionsvärdet för för för för för f (x) där: x<0 0≤x<1 1≤x<2 2≤x<3 x≥3 Testa att din funktion är korrekt genom att plotta dess graf med kommandona: >> fplot(funk6,[-1 4℄) >> ylim([-0.1 1.1℄) 2 7. Fibonais talföljd a1 a2 a3 a4 a5 a6 a7 a8 z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ z}|{ 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , ... denieras av det rekursiva sambandet: a1 = 1, a2 = 1, ak = ak−1 + ak−2 , Skriv en funktionsl fibonai.m som beräknar det n:te talet an Inparameter: n Utparameter: an 8. a) (ett positivt heltal) n:te (det talet i följden) s(x, n) = x − n! = 1 × 2 × 3 × ... × n Inparametrar: x x5 x7 x2n−1 x3 + − + · · · + (−1)n−1 3! 5! 7! (2n − 1)! kan beräknas i MATLAB med funktionen fatorial. (ett reellt tal) n Utparameter: s(x, n) b) i följden. funktionsl funk8.m som beräknar summan Skriv en där k = 3, 4, 5, ... (ett positivt heltal) (summan ovan) Testa din funktion genom att använda att: lim s(x, n) = sin(x) n→∞ ) Skriv en skriptl test8.m som plottar följande tre kurvor i en oh samma gur: Grafen y = s(x, n) på intervallet [−2π, 2π], för Använd olika linjetyper, samt ange värdena på n = 1, 5, 10. n med legend. Tips. Du kan t.ex. använda fplot på följande sätt för att plotta grafen y = s(x, 1) med strekad linje: n = 1; fplot((x) funk8(x,n),[-2*pi 2*pi℄,'--') 9. Skriv en funktionsl minsort.m som sorterar elementen i en vektor i stigande storleksordning. Inparameter: v Utparameter: w en vektor, t.ex. (3, 1, −4, 2) en sorterad vektor, i fallet ovan Använd följande algoritm: n v i = 1, 2, 3, ..., n − 1: För j = i + 1, i + 2, i + 3, ..., n: Om vi > vj : tmp = vi vi = vj vj = tmp = antal element i För w = v 3 (−4, 1, 2, 3)