opgaver:Uge1mandag

(Difference between revisions)
Jump to: navigation, search
Line 193: Line 193:
 
# <code>sum(x)</code>
 
# <code>sum(x)</code>
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
+
#<code>x(3)</code> er element nummer 3 i <code>x</code>.
 +
#<code>x(1:7)</code> er elementerne mellem (og inkl.) element 1 og 7, som en vektor.
 +
#<code>x(1:end)</code> er alle elementer fra og med element 1 til og med det sidste element.
 +
#<code>x(1:end-1)</code> er alle elementer fra og med element 1 til og med det næstsidste element.
 +
#<code>x(6:-2:1)</code> er element 6,4,2 - altså alle elementer fra og med 6, med to mindre for hvert tal, indtil man når 1.
 +
#<code>x([1 6 2 1 1])</code> er giver <code>x</code>-elementerne i rækkefølgen element 1, 6, 2, 1 og 1 igen.
 +
#<code>sum(x)</code> er summen af alle elementer i <code>x</code>.
 
{{hidden end}}
 
{{hidden end}}
  
Line 204: Line 210:
 
# 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=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}}
 +
Her skal du bruge kolon operatoren igen, og bemærke at den foruden at lave lister også kan bruges som et catch-all indeks i et array. Hvis du har et 1D array <code>x</code>, og skriver <code>x(:)</code>, får du bare hele array'et.
 +
{{hidden end}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
+
#<code>x1 = A(1,:)</code>
 +
#<code>y = A(end-1:end,:)</code>
 +
#<code>sum(A)</code>
 +
#<code>sum(A,2)</code>
 +
#<code>N = size(A,1); e = std(A)/sqrt(N)</code>
 
{{hidden end}}
 
{{hidden end}}
  
Line 219: Line 232:
 
# <code>A - 3</code>
 
# <code>A - 3</code>
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}}
 
+
# <code>x + y</code> virker, og den er en ny vektor der indeholder summen af de samme elementer i <code>x</code> og <code>y</code>
 +
# <code>x + A</code> virker ikke, da <code>x</code> og <code>A</code> ikke har samme dimensioner
 +
# <code>x' + y</code> virker ikke, da <code>x'</code> er en søjlevektor og <code>y</code> er en rækkevektor
 +
# <code>A - [x' y']</code> virker ikke, da <code>A</code> er "flad" og <code>[x' y']</code> er "høj"
 +
# <code>[x ; y']</code> virker ikke, da man ikke kan samle en matrix af to vektorer der har forskellige dimensioner på denne måde (en række og en søjle)
 +
# <code>[x ; y]</code> virker, og laver en ny matrice med <code>x</code> i den første række og y i den anden
 +
# <code>A - 3</code> virker, og trækker 3 fra alle elementer i <code>A</code>
 
{{hidden end}}
 
{{hidden end}}

Revision as of 12:34, 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.

Opgave 2

Lad x = [2 5 1 6].

  1. Addér 16 til hvert element.
  2. Addér 3 til alle ulige-indeks elementerne.
  3. Udregn kvadratroden af hvert element.
  4. 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).

  1. Addér summen af elementerne i x til y.
  2. Hæv hvert element af x i potensen specificeret af det tilsvarende element i y.
  3. Dividér hvert element i y med det tilsvarende element i x.
  4. Gang hvert element i x med det tilsvarende element i y, og gem resultatet i den ny variabel z.
  5. Addér elementerne i z og gem resultatet i den ny variabel w.
  6. 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:

  1. 2 / 2 * 3
  2. 6 - 2 / 5 + 7 ^ 2 - 1
  3. 10 / 2 \ 5 - 3 + 2 * 4
  4. 3 ^ 2 / 4
  5. 3 ^ 2 ^ 2
  6. 2 + round(6 / 9 + 3 * 2) / 2 - 3
  7. 2 + floor(6 / 9 + 3 * 2) / 2 - 3
  8. 2 + ceil(6 / 9 + 3 * 2) / 2 - 3

Opgave 5

Lav en vektor x med elementerne...

  1. 2, 4, 6, 8, ...
  2. 10, 8, 6, 4, 2, 0, -2, -4
  3. 1, 1/2, 1/3, 1/4, 1/5, ...
  4. 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.

  1. ln(2 + t + t2)
  2. et(1 + cos(3t))
  3. cos2(t) + sin2(t)
  4. tan-1(1) (dette er den inverse tangentfunktion)
  5. cot(t)
  6. 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":

  1. x(3)
  2. x(1:7)
  3. x(1:end)
  4. x(1:end-1)
  5. x(6:-2:1)
  6. x([1 6 2 1 1])
  7. sum(x)

Opgave 2

Givet array'et A = [ 2 4 1 ; 6 7 2 ; 3 5 9], find kommandoerne der behøves for at...

  1. definere en vektor x1 der indholder den første række af A.
  2. definere et array y der indeholder de sidste 2 rækker af A.
  3. udregne summen over kolonnerne i A.
  4. udregne summen over rækkerne i A.
  5. 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.

  1. x + y
  2. x + A
  3. x' + y
  4. A - [x' y']
  5. [x ; y']
  6. [x ; y]
  7. A - 3


Personal tools
Namespaces
Variants
Actions
Navigation
Opgaver
Andet
Toolbox
Commercial