INLÄM Linjär Kurskod Skolår: armin@ www.st Due dat

INLÄM
MNINGSUP
PPGIFT 2
Linjär algebra och
h analys
Kurskodd: HF1006, HF1008
Skolår: 2014/15
armin@
@kth.se
www.stth.kth.se/arm
min
Due datte: Datatekknik 12 decc 2014, 88:15-12:00
Elektrooteknik: 10
0 dec 2014, 10:15-15:00
Medicinsk teknik 10 dec 20114, 10:15--15:00
Individuuellt arbete.. Använd MATLAB
M
fför att lösa dina
d uppgiftter. I nedansstående
uppgifteer a, b, c occh d är de sista
s
fyra sifffrorna i dittt personnum
mmer. Har ddu t ex pn.
751332 2348 så är a=2 , b=3, c=4 och d=
=8 som du su
ubstituerar i dina uppggifter och
därefterr löser dem.
5 labbövvningar är schemalagd
s
da i kursens andra del ( dvs Analyss-delen).
Första 3 labbövninggar är lärarlledda lektiooner i Matlaab.
De sistaa två (av 5 i del 2) labb
bövningarn
na är avsedda för redovisning av
inlämningsuppgift 2.
REDOV
VISNING.
i) Underr kursens gåång gör du nedanståend
n
de uppgifterr 1-6, skriveer kommenttarer till din
na
lösningaar, sparar varje
v
uppgifft som separrat m-fil (script) och red
dovisar undder sista två
å
(av totaalt fem) lab
bbövningarr i Analys-ddelen.
ii) Hinnner du inte redovisa din
na (korrekta)) lösningar i tid måste du göra äveen uppgift 7.
7 I
detta falll, när du gjort färdigt uppgifternna 1-7, bokaar du via em
mail en tid fö
för redovisning
hos din klasslärare ( för Analy
ys-delen).
(
hjälp av
a din laptoop) dina upp
pgifter geno
om att förklaara dina
iii) Du redovisar (med
L
a sparas på llärarens US
SBlösningaar och visa att dina Maatlab-koder ffungerar. Lösningarna
minne. D
Du behöverr inte lämnaa in någon ppappersversion av lösniingen.
Uppgiftt 1. (SUBPL
LOT)
(Läs gäärna help, suubplot innan
n du börjar med uppgifften.)
1 A) Teesta och förkklara hur needanståendee kommando
on fungerar.
clear
clc
%% SUB
BPLOT
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+1)./x);
plot(x,y2,'r')
title(' y2=sin((x.^2+1)./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.
clear
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
∫ f ( x )dx
3
I1b=double(I1)
% 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 − b)e − ( x − b )
2
3.1 Plotta grafen till f(x) i intervallet b − 2 ≤ x ≤ b + 2 .
3.2 Beräkna arean av det område som definieras av
b ≤ x ≤ b + 2 , 0 ≤ y ≤ f ( x) .
3.3 Beräkna volymen av den kropp som uppstår vid rotation av området
b ≤ x ≤ b + 2 , 0 ≤ y ≤ f ( x)
kring x-axeln b) kring y-axeln.
3.4 Beräkna längden av kurvan mellan punkterna A(b,f(b) och B(b+2,f(b+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(t)
% deklarerar y(t) 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(t)
Matematik
y (t )
y ′(t )
y ′′(t )
Matlab
y
diff(y)
diff(y,2)
VILLKOR
Matematik
y (a ) = b
y ′(a ) = b
y ′′(a ) = b
Matlab
y(a)==b
Två steg
Steg1:
Steg2:
Två steg
Steg1:
Steg2:
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
y ′(t ) + 10 y (t ) = e −10t , 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(t)
% deklarerar y(t) som symbolisk funktion av t
dsolve(ekvation,villkor) % löser ekvationen med givna villkor
Skrivsätt: Derivatan y ′(t ) skriver vi som diff(y).
För att lösa vår ekvation y ′(t ) + 10 y (t ) = e −10t , y(0)=1 och plotta lösningen, använder vi
följande script:
%% Uppgift 4, exempel 1
clear
clc
syms y(t)
% deklarera y(t) som symbolisk funktion
ekv1=diff(y)+ 10*y == exp(-10*t) % 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 ′′(t ) + 5 y ′(t ) + 6 y (t ) = 10 * sin(2 * t ) , 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)
Steg1: V2=Dy(0)==2 ( se matlab help om dsolve)
%% Uppgift 4, exempel 2
clear
syms y(t)
% deklarera y(x) som symbolisk funktion
ekv4=diff(y,2)+5*diff(y)+ 6*y == 10*sin(2*t) % 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 ′(t ) − (1 + a + b) y (t ) = 0 , y (0) = 3 (a och b är parametrar från ditt personnummer)
y (0) = 0 , y ′(0) = 1
2. y ′′(t ) − ( 2 + b) y ′(t ) + (1 + b) y (t ) = 2t + 3 ,
y (0) = 0 , y ′(0) = 1
3. y ′′(t ) + ( 4 + c ) y (t ) = 0 ,
Spara script som Uppgift5
Uppgift 6. ( Använd Matlab för att lösa följande uppgift.)
Bestäm strömmen i(t) i nedanstående LCR-krets då
u(t) =(10+a)cos(40t) V , L=1 H , R1=30 Ω , R2=40 Ω , C=0.001F ,
i ′(0) = 1 A /s
i(0)=1 A,
6.1 (Papper och penna) Ställ upp en differentialekvation för strömmen i(t) .
6.2 Lös ekvationen m a p i(t) dvs beräkna strömmen i(t) (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(t) i nedanstående LCR-krets då
u(t) =(10+b)exp(-10t) 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(t)
7.2 Lös ekvationen m a p i(t) dvs beräkna strömmen i(t) (använd Matlab) Tips: Använd
kommandot dsolve.
7.3 Plotta lösningen.
Spara script som Uppgift7
Lycka till!