Symboliska beräkningar med Matlab



Relevanta dokument
Symboliska beräkningar i Matlab

Symboliska beräkningar med Matlab

Linjära system av differentialekvationer

Kapitel 6. f(x) = sin x. Figur 6.1: Funktionen sin x. 1 Oinas-Kukkonen m.fl. Kurs 6 kapitel 1

konstanterna a och b så att ekvationssystemet x 2y = 1 2x + ay = b 2 a b

SF1620 Matematik och modeller

Facit med lösningsförslag kommer att anslås på vår hemsida Du kan dessutom få dem via e-post, se nedan.

Funktioner och grafritning i Matlab

Linjära system av differentialekvationer

SF1625 Envariabelanalys

SEPARABLA DIFFERENTIALEKVATIONER

Volymer av n dimensionella klot

Institutionen för matematik Envariabelanalys 1. Jan Gelfgren Datum: Fredag 9/12, 2011 Tid: 9-15 Hjälpmedel: Inga (ej miniräknare)

Lathund, procent med bråk, åk 8

Modul 6: Integraler och tillämpningar

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument

Möbiustransformationer.

Introduktion till Matlab

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

3.3. Symboliska matematikprogram

a n = A2 n + B4 n. { 2 = A + B 6 = 2A + 4B, S(5, 2) = S(4, 1) + 2S(4, 2) = 1 + 2(S(3, 1) + 2S(3, 2)) = 3 + 4(S(2, 1) + 2S(2, 2)) = = 15.

Lokal pedagogisk planering i matematik för årskurs 8

Uppgift 1. (SUBPLOT) (Läs gärna help, subplot innan du börjar med uppgiften.) 1 A) Testa och förklara hur nedanstående kommandon fungerar.

Övningshäfte i matematik för. Kemistuderande BL 05

1. Frekvensfunktionen nedan är given. (3p)

Lokal kursplan för Ängkärrskolan år 9 Rev Positionssystemet. -Multiplikation och division. (utan miniräknare).

L(9/G)MA10 Kombinatorik och geometri Gruppövning 1

de uppgifter i) Under m-filerna iv) Efter samlade i en mapp. Uppgift clear clc Sida 1 av 6

3.1 Linjens ekvation med riktningskoefficient. y = kx + l.

Tentamen i Linjär algebra (TATA31/TEN1) ,

Snabbslumpade uppgifter från flera moment.

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

Flervariabelanalys E2, Vecka 2 Ht08

Vi skall skriva uppsats

Kriterium Kvalitet 1 Kvalitet 2 Kvalitet 3 Kvalitet 4 Använda, Utveckla och uttrycka

Tentamen i matematisk statistik (9MA241/9MA341/LIMAB6, STN2) kl 08-13

Lennart Carleson. KTH och Uppsala universitet

Statistik 1 för biologer, logopeder och psykologer

Undervisningsplanering i Matematik Kurs D (100 poäng)

Kontrollskrivning i Linjär algebra ,

Facit till Några extra uppgifter inför tentan Matematik Baskurs. x 2 x

Block 4 - Funktioner. Funktionsbegreppet Definitionsmängd

Laborativ matematik som bedömningsform. Per Berggren och Maria Lindroth

Lösningar och kommentarer till uppgifter i 3.2

Index vid lastbilstransporter

David Wessman, Lund, 30 oktober 2014 Statistisk Termodynamik - Kapitel 5. Sammanfattning av Gunnar Ohléns bok Statistisk Termodynamik.

OM KOMPLEXA TAL. 1 Om a är ett positivt reellt tal så betecknar a det positiva reella tal vars kvadrat är a men det är

Mer om funktioner och grafik i Matlab

Betygskriterier Matematik E MA p. Respektive programmål gäller över kurskriterierna

NATIONELLT PROV I MATEMATIK KURS E HÖSTEN 1996

Maclaurins och Taylors formler. Standardutvecklingar (fortsättning), entydighet, numerisk beräkning av vissa uttryck, beräkning

Bered en buffertlösning. Niklas Dahrén

Matematiska Institutionen, K T H. B. Krakus. Matematik 1. Maplelaboration 2.

Vad är det och hur definierar vi en Biblioteksfunktioner (math) Top-down-programmering lokala globala variabler Arrays som in-parametrar

PRÖVNINGSANVISNINGAR

Exempel på tentamensuppgifter i LMA100, del 1

Studiehandledning till. MMA121 Matematisk grundkurs. Version

Ekvationssystem, Matriser och Eliminationsmetoden

x 2 + px = ( x + p 2 x 2 2x = ( x + 2

R AKNE OVNING VECKA 1 David Heintz, 31 oktober 2002

4-6 Trianglar Namn:..

Förberedelser inför lektion 1 (första övningen läsvecka 1) Lektion 1 (första övningen läsvecka 1)

Kryssproblem (redovisningsuppgifter).

NATIONELLT PROV I MATEMATIK KURS D VÅREN Tidsbunden del

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Övningshäfte Algebra, ekvationssystem och geometri

TAIU07 Matematiska beräkningar med Matlab

Mätning av effekter. Vad är elektrisk effekt? Vad är aktiv-, skenbar- reaktiv- medel- och direkteffekt samt effektfaktor?

Lösningar till MVE016 Matematisk analys i en variabel för I yy 1 + y 2 = x.

Datorövning 2 Statistik med Excel (Office 2007, svenska)

ATT KUNNA TILL. MA1050 Matte Grund Vuxenutbildningen Dennis Jonsson

KOSMOS - Små och stora tal

Planering för Matematik kurs D

Du kommer känna igen en del av området och få chansen att repitera detta men samtidigt kommer du att stöta på lite nytt.

Matematik. Bedömningsanvisningar. Vårterminen 2009 ÄMNESPROV. Delprov B ÅRSKURS

Tentamen i Envariabelanalys 2

Observera att alla funktioner kan ritas, men endast linjära funktioner blir räta linjer.

Sammanfatta era aktiviteter och effekten av dem i rutorna under punkt 1 på arbetsbladet.

( ostream ) << ( annan datatyp ) : ostream

Sidor i boken , , 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

Elektronen och laddning

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper

Har du förstått? I De här talen är primtal a) 29,49 och 61 b) 97, 83 och 89 c) 0, 2 och 3.

Tillämpad UNIX. Laborations-PM Christian von Schultz, Programpaket och processhantering

1 Föreläsning 12, Taylors formel, och att approximera en funktion med ett polynom

5B1134 Matematik och modeller

ÖVN 2 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF1683. Inofficiella mål

Väga paket och jämföra priser

Laboration 1. I. Matlabs fönster, hjälp, variabler och enkla beräkningar. Introduktion

INLÄMNINGSUPPGIFT 2 (Del 2, MATEMATISK STATISTIK) Kurs: MATEMATIK OCH MATEMATISK STATISTIK 6H3000

Repetition av cosinus och sinus

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

Fri programvara i skolan datoralgebraprogrammet Maxima

Datorövning 2 Diskret fördelning och betingning

5B1134 Matematik och modeller Lösningsförslag till tentamen den 11 oktober 2004

Jörgen Lagnebo PLANERING OCH BEDÖMNING MATEMATIK ÅK 7

Lösningar till Tentamen i Matematisk Statistik, 5p 22 mars, Beräkna medelvärdet, standardavvikelsen, medianen och tredje kvartilen?

PRÖVNINGSANVISNINGAR

MMA132: Laboration 1 Introduktion till MATLAB

Transkript:

CTH/GU LABORATION 6 MVE16-1/13 Matematiska vetenskaper Symboliska beräkningar med Matlab 1 Inledning Verktygslådan Symbolic Math Toolbox i Matlab kan utföra symbolisk matematik. Nu skall vi se på ett antal exempel på symboliska beräkningar inom algebra och analys samt symbolisk lösning av t.ex. vissa differentialekvationer. Till våren, i kursen i linjär algebra, kommer vi se på symbolisk lösning av linjära ekvationssystem och några andra problemtyper inom linjär algebra. Vi börjar med att göra en symbolisk formel för volymen av ett klot med radien r >> syms r >> volym=4/3*pi*r^3 volym = 4/3*pi*r^3 Vi kan beräkna volymen för t.ex. r = 3 med subs enligt >> v=subs(volym,r,3) v = 113.973 Symboliska variabeln r i uttrycket volym substitueras med värdet 3 och v räknas ut (numeriskt). Senare skall vi se hur vi kan göra om ett symboliskt uttryck till en function, som ett alternativt sätt att göra samma beräkning. Algebraiska uttryck och aritmetik Vi kan faktorisera, utveckla och förenkla ett uttryck med factor, expand och simplify enligt >> syms a b >> factor(a^+*a*b+b^) (a+b)^ >> factor(sym( 173 )) % Primtalsfaktorisering 19*67 >> expand((a+b)^4) a^4+4*a^3*b+6*a^*b^+4*a*b^3+b^4 1

>> expand(sin(a+b)) cos(a)*sin(b) + cos(b)*sin(a) >> simplify((a^+b^-*a*b)/(a-b)) a - b >> simplify(exp(a+b)/exp(a-b)) exp(*b) Vi kan lösa t.ex. polynomekvationen x 4 x + x 1 = med >> s=solve( x^4-x^+*x-1 ) s = - 5^(1/)/ - 1/ 5^(1/)/ - 1/ 1/ - (3^(1/)*sqrt(-1))/ (3^(1/)*sqrt(-1))/ + 1/ dvs. vi har lösningarna (rötterna) x 1, = 1 ± 5 och x 3,4 = 1 ± 3i. Vi kan få Matlab att skriva ut lite snyggare (mer lättläst) med pretty(s). Pröva gärna! Vi kan med exakt heltalsaritmetik beräkna t.ex. 1 och 1! enligt >> N=sym()^1 N = 1676568941496735376 >> double(n) % Numerisk form 1.677e+3 >> prod(sym(1:1)) % sym( 1! ) går också bra 9336154439441568169938856667497159686438161468599638951759999399\ 156894146397615651886536979873758511851916864 >> double(ans) 9.336e+157 Vi beräknar π, och e med t.ex. 1 decimaler med vpa (variable precision arithmetic) enligt >> Pi=vpa(pi,1) Pi = 3.14159653589793384664338379588419716939937515897494459378164686\ 89986834853411768

>> c=vpa(sqrt(),1) c = 1.414135637395488168874969878569671875376948731766797379973478461\ 7388538753437641573 >> e=vpa(exp(1),1) e =.71881884594535368747135664977574793699959574966967677476633535\ 47594571381785516647 3 Numerisk funktion av symboliska formler I exemplet från inledningen gjorde vi en symbolisk formel för volymen av ett klot med radien r enligt >> syms r >> volym=4/3*pi*r^3 volym = 4/3*pi*r^3 Vi beräknade volymen för r = 3 med >> v=subs(volym,r,3) v = 113.973 Alternativt kan vi göra en (numerisk) funktion av den symboliska formeln med matlabfunction enligt >> volymfun=matlabfunction(volym) % volymfun=matlabfunction(volym, vars,{ r }) volymfun = @(r)pi.*r.^3.*(4../3.) Nu kan vi beräkna volymen för t.ex. r = 3 som en helt vanlig funktionsberäkning >> v=volymfun(3) v = 113.973 Konstruktionen med matlabfunction gör det möjligt att rita upp symboliska funktioner. För att rita en graf måste man ju ha konkreta siffervärden. Detta kommer vi använda senare i denna laboration. 4 Gränsvärden, derivator och primitiv funktion Vi kan beräkna gränsvärden sin(ax) lim x x lim tan(x) x π/ lim x x sin(1 x ) 3

>> syms x a >> limit(sin(a*x)/x,x,) a >> limit(tan(x),x,pi/, left ) Inf >> limit(x*sin(1/x),x,) Vi kan derivera en funktion f(x) = tan(1 + cos(x )) >> syms x >> f=tan(1+cos(x^)); >> Df=diff(f,x) Df = -*(1+tan(1+cos(x^))^)*sin(x^)*x Här passar vi på att nämna att Matlab kan producera L A TEX-kod för en formel >> kod=latex(df); Vi infogar denna kod i det L A TEX-dokumnet som genererat denna sida med följande resultat ( f (x) = 1 + ( tan ( 1 + cos ( x ))) ) sin ( x ) x Vi kan bestämma primitiv funktion >> syms x >> f=15*x^-8*x+9 f = 15*x^-8*x+9 >> F=int(f) F = 5*x^3-4*x^+9*x 15x 8x + 9 dx Integrationskonstanten får vi hålla reda på själva. Vi deriverar för att kontrollera att allt blivit rätt >> DF=diff(F) DF = 15*x^-8*x+9 4

5 Integraler Vi beräknar en bestämd integral >> q=int(x*sin(x),,1) q = sin(1) - cos(1) 1 x sin(x) dx Ni känner nog igen den från uppgift 4, laboration. Då räknade ni ut den för hand med partialintegration. Uppgift 1. Beräkna arean A av de områden som omsluts av graferna till funktionerna f(x) = x3 8 5x 8 + x x 1 g(x) = 4 5x + 1 Ledning: Definiera funktionerna, både symboliskt och numeriskt (avsnitt 3), och rita deras grafer med >> syms x >> f=x^3/8-5*x^/8+x/4-1 >> g=x^/-5*x/+1/ >> fn=matlabfunction(f); >> gn=matlabfunction(g); >> xn=linspace(-1,7); >> plot(xn,fn(xn),xn,gn(xn), r-- ) >> axis equal, axis([-1 7-3 4]) 4 3 1 1 3 4 6 Bestäm sedan skärningspunkterna med solve (avsnitt ) enligt >> s=solve(f-g) s = 3 3-5^(1/) 5^(1/) + 3 för att sedan beräkna arean med int på lämpligt sätt. Integrationsgränserna plockar ni ur vektorn s, t.ex. s(3) ger skärningen längst till höger. (Svaret skall bli A = 5 16.) 5

6 Differentialekvationer Vi beräknar lösningar till differentialekvationen { y = y(t) + sin(t) + cos(t), t 4 y() = c >> syms t >> y=dsolve( Dy=-y+sin(t)+cos(t), y()=c ) y = sin(t) + c/exp(t) och ritar upp lösningarna för några olika värden på c med >> yfun=matlabfunction(y, vars,{ t, c }) yfun = @(t,c)sin(t)+c.*exp(-t) >> T=linspace(,4); >> for c=-:.5: plot(t,yfun(t,c)), hold on end 1 1 Vi löser andra ordningens differentialekvation 1 3 4 y + y + y = sin(x) >> syms x >> y=dsolve( Dy+*Dy+y=*sin(x), x ) y = x*cos(x) - x*(cos(x) - sin(x)) - cos(x) - x*sin(x) + C1/exp(x) + (C*x)/exp(x) >> y=simplify(y) y = C1/exp(x) - cos(x) + (C*x)/exp(x) och kontrollerar att lösningen verkligen uppfyller ekvationen med >> r=diff(y,)+*diff(y)+y-*sin(x) r = Uppgift. Rita graferna av lösningen till differentialekvationen y + y = (x 1) sin(x) över x+1 intervallet 1 x 1, för några olika värden på konstanten i lösningen. 6

7 Taylorutveckling Vi kan Taylorutveckla exempelvis f(x) = x runt a = 4, och ta med termer t.o.m. ordning n = 3, med funktionen taylor enligt >> syms x a n >> a=4; n=3; >> t=taylor(sqrt(x),n+1,x,a) t = 1+1/4*x-1/64*(x-4)^+1/51*(x-4)^3 Lägg märke till att vi skall ge gradtalet plus 1 som parameter till taylor. Resttermen bestämmer vi med >> syms xi >> r=diff(sqrt(xi),n+1)/factorial(n+1)*(x-a)^(n+1) r = -5/18/xi^(7/)*(x-4)^4 Vi får alltså f(x) = + x 4 4 (x 4) 64 + (x 4)3 51 5ξ 7/ 18 (x 4)4. Vi kan Maclaurinutveckla f(x) = sin(x) med >> syms x n >> n=3; >> f=sin(x); >> t=taylor(f,n+1) t = x - x^3/6 och rita upp funktionen och Maclaurinpolynomet med >> fn=matlabfunction(f); % fn blir numerisk motsvarighet till f >> tn=matlabfunction(t); % tn blir numerisk motsvarighet till t >> xn=linspace(-1,1); % xn numeriska x-värden för uppritning >> plot(xn,fn(xn), b,xn,tn(xn), r, linewidth,) >> axis equal, axis([xn(1) xn(end) -3 3]) 3 1 1 3 1 8 6 4 4 6 8 1 Uppgift 3. Bestäm Maclaurinpolynomen till f(x) = sin(x) av successivt allt högre gradtal (n = 1, 3,, 1 exempelvis). Rita successivt upp Maclaurinpolynomen i en figur där ni redan har ritat f(x). Lägg en liten paus mellan varje uppritning. 7

8

CTH/GU MVE16-1/13 Matematiska vetenskaper Uppföljning av laboration 6 1 Målsättning Avsikten med denna laboration är att ge en introduktion till symboliska beräkningar med Matlab. Vi ser hur vi kan använda exakt heltalsaritmetik (godtyckligt stora heltal) och variabel precision vid reella beräkningar. Vidare ser vi på beräkningar liknande de ni gjort för hand, ta gränsvärden, derivera och integrera. Avslutningsvis ser vi hur man kan lösa vissa differentialekvationer och hur man Taylorutvecklar. Kommentarer och förklaringar Inget kan ersätta handräkning, men ibland kan man vara hjälpt av att ha möjlighet att låta Matlab eller något liknande programsystem utföra en del kalkyler. Försöker vi lösa en polynomekvation av grad fem eller högre så ger solve en numerisk lösning om de symboliska metoderna inte hittar en formel. Är man bara uppmärksam så ser man att svaret innehåller massa siffror och då vet vi att det inte är exakt. T.ex. s=solve( x^5-x^3+4*x-1 ) ger s =.538491865153381435118573 1.4734439767166985311618 +.85378941913559368849844983*i 1.4734439767166985311618 -.85378941913559368849844983*i - 1.174546956979186194666465 +.8833877547134743763196416691*i - 1.174546956979186194666465 -.8833877547134743763196416691*i som är ett numeriskt (inte exakt) svar, medan s=solve( x^6-*x^4+7*x^-3 ) ger ett exakt svar. (Med t = x så får vi en kubisk ekvation i t.) 3 Lärandemål Efter denna laboration skall du i Matlab ha kännedom om möjlighet till symboliska formelhantering med factor och expand ha kännedom om möjlighet till exakt heltalsaritmetik och beräkningar i variabel precision med vpa kunna omvandla en symbolisk funktion till en numerisk med matlabfunction kunna beräkna derivator, primitiva funktioner och integraler med diff och int kunna beräkna symboliska lösningar till algebraiska ekvationer och differentialekvationer med solve respektive dsolve 9