арп яр р вытт ь е лд ¸ Ў ҐЎ а ж з ьв кы ь × ь вь е ьп л ь жр яр

реклама
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)
Скачать