INLÄMNINGSUPPGIFT 2 Linjär algebra och analys Kurskod: HF1006, HF1008 Skolår: 2016/17 armin@kth.se www.sth.kth.se/armin Redovisas under sista två (av totalt fem) labbövningar i Analys-delen. Preliminärt: Datateknik : 7 dec 2016, 10:15-15:00 Elektroteknik: 5 dec 2016 13:15-15:00, och 6 dec 13:15-15:00 Medicinsk teknik: 7 dec 2016, 10:15-15:00 Individuellt arbete. Använd MATLAB för att lösa dina uppgifter. I nedanstående uppgifter a, b, c och d är de sista fyra siffrorna i ditt personnummer. Har du t ex pn. 751332 2348 så är a=2, b=3, c=4 och d=8 som du substituerar i dina uppgifter och därefter löser dem. 5 labbövningar är schemalagda i kursens andra del ( dvs Analys-delen). Första 3 labbövningar är lärarledda lektioner i Matlab. De sista två (av 5 i del 2) labbövningarna är avsedda för redovisning av inlämningsuppgift 2. REDOVISNING. i) Under kursens gång gör du nedanstående uppgifter 1-6, skriver kommentarer till dina lösningar, sparar varje uppgift som separat m-fil (scrip och redovisar under sista två (av totalt fem) labbövningar i Analys-delen. ii) Hinner du inte redovisa dina (korrekta) lösningar i tid måste du göra även uppgift 7. I detta fall, när du gjort färdigt uppgifterna 1-7, bokar du via email en tid för redovisning hos din klasslärare ( för Analys-delen). iii) Du redovisar (med hjälp av din laptop) dina uppgifter genom att förklara dina lösningar och visa att dina Matlab-koder fungerar. Lösningarna sparas på lärarens USBminne. Du behöver inte lämna in någon pappersversion av lösningen. 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. clc %% SUBPLOT figure(4) x=1:0.1:10; y1=3*x.^3-2*x.^2+2*x; subplot(2,2,1) plot(x,y1) title('y1=3*x.^3-2x.^2+2*x');
subplot(2,2,2) x=1:0.1:10; y2=sin((x.^2-2*x)./x); plot(x,y2,'r') title(' y2=sin((x.^2-2*x)./x)'); subplot(2,2,3) x=1:0.5:10; z1=cos((x.^2+1)./x); plot(x,z1,' g s -.') title(' z1=cos((x.^2+1)./x)'); subplot(2,2,4) x=-5:0.1:5; z=3*x.^2-5; plot(x,z) title('z=3*x.^2-5'); %% 1 B) Plotta grafer till y=3sin(x) +cos(10x) och y= 4sin(2x) i intervallet 0 x 2π så att de ligger separat i två koordinatsystem som ligger horisontellt bredvid varandra. Tips. Använd subplot(1,2,1) och subplot(1,2,2). Spara script som Uppgift1 Uppgift 2. Symbolisk matematik med Matlab. Beräkning av integraler derivator och gränsvärden Läs gärna help avsnitt om syms subs, ezplot, diff, int, double, limit börjar med uppgiften. innan du Testa följande exempel i Matlab och förklara med några ord varje kommando. %% Uppgift 2. clc %% syms var1 var2 deklarerar symboliska variabler i Matlab syms x f=(x^2-2*x)/(x^2-1) y5=subs(f,x,5) ezplot(f,[-15,15]) solve(f==0,x) %% DERIVATOR g=diff(f,x) h=diff(f,x,2) solve(g==0,x) %% INTEGRALER integral1=int(f) %obestämd integral fdx 5 I1=int(f,3,5) % integral 3 I1b=double(I1) f ( x) dx % numeriska värdet av I1 integral2=int(g) I2=int(sqrt(sin(x)+exp(x)),0,1) % integralen kan inte beräknas exakt,
% (matlab upprepar uttrycket för integralen utan beräkning) % medan samma integral kan beräknas numerisk % med kommandot double I2num=double(I2) % eller med direkt numerisk beräkning I2num= double(int(sqrt(sin(x)+exp(x)),0,1)) %% GRÄNSVÄRDEN L1=limit(f,x,inf) L2=limit(f,x,-inf) L3=limit(f,x,1,'left') L4=limit(f,x,1,'right') L5=limit(f,x,-1,'left') L6=limit(f,x,-1,'right') Spara script som Uppgift2 Uppgift 3. Lös följande uppgift med hjälp av Matlab Betrakta funktionen f ( x) = ( x a) e ( x a) 2 3.1 Plotta grafen till f(x) i intervallet a 2 x a + 2. 3.2 Beräkna arean av det område som definieras av a x a + 2, 0 y f ( x). 3.3 Beräkna volymen av den kropp som uppstår vid rotation av området a x a + 2, 0 y f ( x) kring x-axeln b) kring y-axeln. 3.4 Beräkna längden av kurvan mellan punkterna A(a,f(a) och B(a+2,f(a+2)). Tips. Använd matlab-kommandon från upp2. Kolla motsvarande formler i stencilen Tillämpningar av integraler http://ingforum.haninge.kth.se/armin/alla_kurser/kursmaterial/matte1/analys/tillamp_int.pdf Spara script som Uppgift3 Uppgift 4. DIFFERENTIALEKVATIONER. Exakta lösningar till några typer av differentialekvationer med kommandot dsolve. Läs gärna hjälp-avsnitt om dsolve innan du börjar med uppgiften. Sintax: syms y( % deklarerar y( som symbolisk funktion av t dsolve(ekvation,villkor1,villkor2,villkor3,...) % löser ekvationen med givna villkor SKRIVSÄTT i Matlabs dsolve : FUNKTION OCH DERIVATOR: Glöm inte att deklarera syms y( Matematik Matlab y ( y y ( diff(y) y ( diff(y,2)
VILLKOR Matematik Matlab y a) = b y ( a) = b Två steg Steg1: Steg2: y ( a) = b Två steg Steg1: Steg2: ( y(a)==b Dy=diff(y) Dy(a)==b D2y=diff(y,2) D2y(a)==b Testa följande exempel i Matlab. Exempel 1. Använd kommandot dsolve i Matlab för att lösa följande differentialekvation 10t y ( + 10y( = e, y(0)=1. Plotta lösningen. Lösning: Bas-syntax för dsolve i Matlab när vi löser en DE består av följande kommandon: Sintax: syms y( % deklarerar y( som symbolisk funktion av t dsolve(ekvation,villkor) % löser ekvationen med givna villkor Skrivsätt: Derivatan y ( skriver vi som diff(y). 10t För att lösa vår ekvation y ( + 10y( = e, y(0)=1 och plotta lösningen, använder vi följande script: %% Uppgift 4, exempel 1 clc syms y( % deklarera y( som symbolisk funktion ekv1=diff(y)+ 10*y == exp(-10* % ekvationen V1=y(0) == 1 % villkoret sol1=dsolve(ekv1, V1) % löser DE (lösningen kallas sol1) f1=simplify(sol1) % förenklar lösning och ändrar namn till f1 figure(1) % nästa graf kommer att plottas i figure(1) ezplot(f1,[-3,3]) % plottar lösningskurvan i intervallet [-3,3] Exempel 2. Använd kommandot dsolve i Matlab för att lösa följande differentialekvation y ( + 5y ( + 6y( = 10 *sin(2 *, y(0)=1, y ( 0) = 2. Plotta lösningen. Lösning: Anmärkning: vilkoret V2, y ( 0) = 1 definierar vi i två steg: Steg1: Dy=diff(y) Steg2: V2=Dy(0)==2 ( se matlab help om dsolve) %% Uppgift 4, exempel 2 syms y( % deklarera y(x) som symbolisk funktion ekv4=diff(y,2)+5*diff(y)+ 6*y == 10*sin(2* % ekvationen V1=y(0) == 1 % villkor 1: y(0)=1
Dy=diff(y) % mellansteg: Beteckna y' som Dy V2=Dy(0)==2 % villkor 2 y'(0)=2 sol1=dsolve(ekv4, V1,V2) % lösning figure(2) % nästa graf kommer att plottas i figure(2) ezplot(sol1,[0,10]) % plottar lösningskurvan Spara script som Uppgift4 Uppgift 5. Använd kommandot dsolve i Matlab för att lösa följande differentialekvationer (med givna villkor). Plotta varje lösning (lösning k i figure(k)). 1. y ( (1 + a + b) y( = 0, y ( 0) = 3 (a och b är parametrar från ditt personnummer) 2. y ( (2 + b) y ( + (1 + b) y( = 2t + 3, y ( 0) = 0, y ( 0) = 1 3. y ( + (4 + c) y( = 0, y ( 0) = 0, y ( 0) = 1 Spara script som Uppgift5 Uppgift 6. ( Använd Matlab för att lösa följande uppgift.) Bestäm strömmen i( i nedanstående LCR-krets då u( =(10+a)cos(40 V, L=1 H, R1=30 Ω, R2=40 Ω, C=0.001F, i(0)=1 A, i ( 0) = 1 A /s 6.1 (Papper och penna) Ställ upp en differentialekvation för strömmen i(. 6.2 Lös ekvationen m a p i( dvs beräkna strömmen i( (använd Matlab). Tips: Använd kommandot dsolve. 6.3 Plotta lösningen med hjälp av kommandot ezplot Spara script som Uppgift6 Om du redovisar första 6 uppgifter under kursens gång behöver du INTE göra uppgift 7! Uppgift 7. ( Använd Matlab för att lösa följande uppgift.) Bestäm strömmen i( i nedanstående LCR-krets då u( =(10+b)exp(-10 V, L=(2+b+c) H, R1=(3+b) Ω, i(0)=1 A. 7.1 (Papper och penna) Ställ upp en differential ekvation för strömmen i( 7.2 Lös ekvationen m a p i( dvs beräkna strömmen i( (använd Matlab) Tips: Använd kommandot dsolve. 7.3 Plotta lösningen. Spara script som Uppgift7
Lycka till!