opgaver:Uge1mandag
Pia Jensen (Talk | contribs) |
Pia Jensen (Talk | contribs) |
||
Line 9: | Line 9: | ||
Lav en vektor bestående af de lige heltal mellem 31 og 75. | Lav en vektor bestående af de lige heltal mellem 31 og 75. | ||
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
− | Dette gøres med. | + | Dette gøres med kolon-operatoren, der kan lave lister: |
+ | :<code>x = 32:2:75</code> | ||
+ | Med denne kode starter listen ved 32 (det første af de lige tal vi gerne vil have), og stiger 2 hver gang, indtil den når til 75. Den når faktisk til 74, og ser så at 76 er over 75, og stopper derfor ved 74. | ||
{{hidden end}} | {{hidden end}} | ||
− | |||
=== Opgave 2 === | === Opgave 2 === | ||
Line 20: | Line 21: | ||
# Udregn kvadratroden af hvert element. | # Udregn kvadratroden af hvert element. | ||
# Udregn kvadratet af hvert element. | # Udregn kvadratet af hvert element. | ||
+ | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | |||
+ | {{hidden end}} | ||
=== Opgave 3 === | === Opgave 3 === | ||
Line 30: | Line 34: | ||
# Addér elementerne i <code>z</code> og gem resultatet i den ny variabel <code>w</code>. | # Addér elementerne i <code>z</code> og gem resultatet i den ny variabel <code>w</code>. | ||
# Udregn <code>x'*y - w</code> og fortolk resultatet. | # Udregn <code>x'*y - w</code> og fortolk resultatet. | ||
+ | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | |||
+ | {{hidden end}} | ||
=== Opgave 4 === | === Opgave 4 === | ||
Line 42: | Line 49: | ||
# <code>2 + floor(6 / 9 + 3 * 2) / 2 - 3</code> | # <code>2 + floor(6 / 9 + 3 * 2) / 2 - 3</code> | ||
# <code>2 + ceil(6 / 9 + 3 * 2) / 2 - 3</code> | # <code>2 + ceil(6 / 9 + 3 * 2) / 2 - 3</code> | ||
+ | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | |||
+ | {{hidden end}} | ||
=== Opgave 5 === | === Opgave 5 === | ||
Line 50: | Line 60: | ||
# <code>1, 1/2, 1/3, 1/4, 1/5, ...</code> | # <code>1, 1/2, 1/3, 1/4, 1/5, ...</code> | ||
# <code>0, 1/2, 2/3, 3/4, 4/5, ... </code> | # <code>0, 1/2, 2/3, 3/4, 4/5, ... </code> | ||
+ | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | |||
+ | {{hidden end}} | ||
=== Opgave 6 === | === Opgave 6 === | ||
Lav en vektor <code>x</code> med elementerne | Lav en vektor <code>x</code> med elementerne | ||
− | x<sub>n</sub> = (-1)<sup>n+1</sup>/(2n-1) | + | :x<sub>n</sub> = (-1)<sup>n+1</sup>/(2n-1) |
Summér elementerne i versionen af denne vektor med 100 elementer. | Summér elementerne i versionen af denne vektor med 100 elementer. | ||
+ | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | |||
+ | {{hidden end}} | ||
=== Opgave 8 === | === Opgave 8 === | ||
Line 67: | Line 83: | ||
# cot(t) | # cot(t) | ||
# sec<sup>2</sup>(t) + cot(t) - 1 | # sec<sup>2</sup>(t) + cot(t) - 1 | ||
+ | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | |||
+ | {{hidden end}} | ||
Line 81: | Line 100: | ||
# <code>x([1 6 2 1 1])</code> | # <code>x([1 6 2 1 1])</code> | ||
# <code>sum(x)</code> | # <code>sum(x)</code> | ||
+ | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | |||
+ | {{hidden end}} | ||
=== Opgave 2 === | === Opgave 2 === | ||
Line 90: | Line 112: | ||
# udregne summen over rækkerne i <code>A</code>. | # udregne summen over rækkerne i <code>A</code>. | ||
# udregne standardafvigelsen af gennemsnittet for hver kolonne i <code>A</code> (NB. standardafvigelsen af gennemsnittet er defineret som standardafvigelsen divideret med kvadratroden af antallet af elementer der bruges til at udregne gennemsnittet). | # udregne standardafvigelsen af gennemsnittet for hver kolonne i <code>A</code> (NB. standardafvigelsen af gennemsnittet er defineret som standardafvigelsen divideret med kvadratroden af antallet af elementer der bruges til at udregne gennemsnittet). | ||
+ | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | |||
+ | {{hidden end}} | ||
=== Opgave 3 === | === Opgave 3 === | ||
Line 101: | Line 126: | ||
# <code>[x ; y]</code> | # <code>[x ; y]</code> | ||
# <code>A - 3</code> | # <code>A - 3</code> | ||
+ | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | |||
+ | {{hidden end}} |
Revision as of 11:18, 5 March 2012
Disse simple øvelser skal laves som en warm-up til MATLAB. Dem der allerede er trygge ved at bruge MATLAB kan nøjes med at skimme dem igennem - men det anbefales at I går igennem dem alle for at være sikre på at I ved hvad I laver!
Opgaverne er taget fra [1] (Basic syntax and command-line exercises 1-6 og 8, samt Basic array exercises 1-3).
Contents |
Simpel syntaks og kommando-linie
Opgave 1
Lav en vektor bestående af de lige heltal mellem 31 og 75.
Dette gøres med kolon-operatoren, der kan lave lister:
x = 32:2:75
Med denne kode starter listen ved 32 (det første af de lige tal vi gerne vil have), og stiger 2 hver gang, indtil den når til 75. Den når faktisk til 74, og ser så at 76 er over 75, og stopper derfor ved 74.
Opgave 2
Lad x = [2 5 1 6]
.
- Addér 16 til hvert element.
- Addér 3 til alle ulige-indeks elementerne.
- Udregn kvadratroden af hvert element.
- Udregn kvadratet af hvert element.
Opgave 3
Lad x = [3 2 6 8]'
og y = [4 1 3 5]'
. (NB. x
og y
bør være søjlevektorer).
- Addér summen af elementerne i
x
tily
. - Hæv hvert element af
x
i potensen specificeret af det tilsvarende element iy
. - Dividér hvert element i
y
med det tilsvarende element ix
. - Gang hvert element i
x
med det tilsvarende element iy
, og gem resultatet i den ny variabelz
. - Addér elementerne i
z
og gem resultatet i den ny variabelw
. - Udregn
x'*y - w
og fortolk resultatet.
Opgave 4
Udregn de følgende MATLAB udtryk i hånden, og brug så MATLAB til at tjekke resultaterne:
-
2 / 2 * 3
-
6 - 2 / 5 + 7 ^ 2 - 1
-
10 / 2 \ 5 - 3 + 2 * 4
-
3 ^ 2 / 4
-
3 ^ 2 ^ 2
-
2 + round(6 / 9 + 3 * 2) / 2 - 3
-
2 + floor(6 / 9 + 3 * 2) / 2 - 3
-
2 + ceil(6 / 9 + 3 * 2) / 2 - 3
Opgave 5
Lav en vektor x
med elementerne...
-
2, 4, 6, 8, ...
-
10, 8, 6, 4, 2, 0, -2, -4
-
1, 1/2, 1/3, 1/4, 1/5, ...
-
0, 1/2, 2/3, 3/4, 4/5, ...
Opgave 6
Lav en vektor x
med elementerne
- xn = (-1)n+1/(2n-1)
Summér elementerne i versionen af denne vektor med 100 elementer.
Opgave 8
Givet en vektor, t
, med længde n
, lav MATLAB udtryk der vil udregne de følgende udtryk. Test at de virker for t = 1:0.2:2
.
- ln(2 + t + t2)
- et(1 + cos(3t))
- cos2(t) + sin2(t)
- tan-1(1) (dette er den inverse tangentfunktion)
- cot(t)
- sec2(t) + cot(t) - 1
Simple arrays
Opgave 1
Givet x = [3 1 5 7 9 2 6]
, forklar hvad de følgende kommandoer "betyder":
-
x(3)
-
x(1:7)
-
x(1:end)
-
x(1:end-1)
-
x(6:-2:1)
-
x([1 6 2 1 1])
-
sum(x)
Opgave 2
Givet array'et A = [ 2 4 1 ; 6 7 2 ; 3 5 9]
, find kommandoerne der behøves for at...
- definere en vektor
x1
der indholder den første række afA
. - definere et array
y
der indeholder de sidste 2 rækker afA
. - udregne summen over kolonnerne i
A
. - udregne summen over rækkerne i
A
. - udregne standardafvigelsen af gennemsnittet for hver kolonne i
A
(NB. standardafvigelsen af gennemsnittet er defineret som standardafvigelsen divideret med kvadratroden af antallet af elementer der bruges til at udregne gennemsnittet).
Opgave 3
Givet arrays'ene x = [1 4 8]
, y = [2 1 5]
og A = [3 1 6 ; 5 2 7]
, find ud af hvilke udtryk der kan udføres korrekt, og giv resultaterne. Hvis udtrykket ikke kan udføres, så find ud af hvorfor. Kommandoen whos
kan være smart at bruge her.
-
x + y
-
x + A
-
x' + y
-
A - [x' y']
-
[x ; y']
-
[x ; y]
-
A - 3