Matlab som kalkulator

Fra Matematikk.net
Hopp til:navigasjon, søk
Innføring i Matlab

Introduksjon
Matlab som kalkulator
Symbolske beregninger
Variabler i Matlab
Vektorregning
Matriser
Plotting av grafer
3d Plotting
Programmering


Det første man lærer i Matlab er å bruke det som en vanlig kalkulator. Det kan være greit å ha sett de forskjellige regneoperasjonene. Du skriver det stort sett inn på vanlig måte etter

>>

som er der Matlab venter på å få en kommando. Du skriver inn det du ønsker å regne ut, f.eks 2+2, og trykker enter. Matlab skriver da ut svaret for deg:

ans =

    4

De fire regneoperasjonene

De fire grunnleggende regneoperasjonene, addisjon, subtraksjon, divisjon og multiplikasjon fungerer som forventet.

>> 5+6

ans =

    11

>> 18-4

ans =

    14

>> 19/5

ans =

    3.8000

>> 26*10

ans =

   260

Matlab følger også de vanlige reglene for rekkefølge på operasjonene.

>> 2*3+5

ans =

    11

>> 2*(3+5)

ans =

    16

Legg spesielt merke til at du må skrive * for multiplikasjon selv om du har en parentes. Hvis du utelater gangetegnet får du feilmelding.

>> 2(3+5)
??? 2(3+5)
     |
Error: Unbalanced or misused parentheses or brackets.

Potenser og røtter

Potenser merkes med ^-tegnet. Hvis du skal ha et uttrykk i eksponenten, må du bruke parenteser.
<math>2^5 - 3 \,=\, 32 - 3 \,=\, 29</math>

>> 2^5-3

ans =

    29

<math>2^{5 - 3} \,=\, 2^2 \,=\, 4</math>


>> 2^(5-3)

ans =

     4

Skal man regne ut kvadratroten, bruker man kommandoen sqrt. I utgangspunktet har Matlab kun kvadratroten, og ikke kubikkrot etc, men man kan enkelt bruke potenser i stedet. Siden <math>\sqrt[3]{8} = 8^{\frac{1}{3}} = 2</math> og det generelt er: <math>\sqrt[n]{b} = b^{\frac{1}{n}}</math>

>> sqrt(144)

ans =

      12       

>> 144^(1/2)

ans =

      12       

For sjetteroten til 24137569, skriver vi bare

>> 24137569^(1/6)

ans =

      17       

>> 

Logaritmer og eksponentialfunksjonen

For den naturlige logaritmen bruker i Norge vanligvis ln, men i Matlab er dette kommandoen log.
<math>\ln(3) = 1.0986</math>

>> log(3)

ans =

    1.0986

Logaritmen kan jo brukes med hvilket grunntall man vil, men i Matlab har man i tillegg til den naturlige logaritmen bare log med 2 og 10 som grunntall (mer avanserte brukere kan skrive egne kommandoer for andre grunntall). De har henholdsvis kommandoene log2 og log10.

>> log2(32)

ans =

     5

>> log10(100)

ans =

     2

Eksponentialfunksjonen har man også i Matlab, og er kommandoen exp.
<math>\text{e}^3 \,=\, 20.0855</math>

>> exp(3)

ans =

   20.0855

Trigonometriske funksjoner

Kommandoen for de forskjellige trigonometriske funksjonene er som forventet: sin, cos og tan. De inverse trigonometriske funksjonene har kommandoer asin, acos og atan (forkortelse for arcussinus, arcuscosinus og arcustangens). Matlab har også inkludert de hyperbolse trigonemtriske funksjonene (sinh, cosh, tanh) og deres inverse (asinh, acosh, atanh). Det er også verdt å merke seg at <math>\pi</math> er lagt inn som en fast konstant i Matlab, og heter pi.

>> cos(pi/3)

ans =

    0.5000

>> sin(pi/4)

ans =

    0.7071

>> atan(0.5)

ans =

    0.4636

Modulo, gcd og primtallsfaktorisering

Modulo skrives med kommandoen mod.

>> mod(24462,4)

ans =

     2

Gcd er en forkortelse for Greatest Common Divisor, altså største felles divisor. Det er en vanlig forkortelse i matematikk, og har samme kommando i Matlab.

>> gcd(2680, 180)

ans =

    20

For å finne primtallsfaktoriseringen til et tall har du kommandoen factor. Får du tallet du skriver inn som svar, har du funnet et primtall.

>> factor(3927)

ans =

     3     7    11    17

>> factor(3001)

ans =

        3001

Format

Det er kanskje noen som reagerte litt på unøyaktigheten til logaritmen og eksponentialfunksjonen. Det kommer av at tallformatet som er standard når man starter Matlab er satt til short. Du kan endre dette til andre typer.

I Matlab er konstanten <math>\pi</math> lagret under navnet pi. Eulers konstant, e, kan du få med kommandoen exp(1). Under formatet short blir de slik:

>> pi

ans =

    3.1416

>> exp(1)

ans =

    2.7183

Du kan endre formatet til long med kommandoen format long, som gir mer nøyaktige tall.

>> format long
>> pi

ans =

   3.14159265358979

>> exp(1)

ans =

   2.71828182845905

Et annet format vi ser på her er formatet for rasjonale tall. Det fåes ved kommandoen format rat. Det har noen nyttige egenskaper, spesielt med matriseregning og når man ønsker å regne med brøk. Her får man ganske nøyaktige, rasjonale tilnærminger av pi og e.

>> format rat
>> pi

ans =

     355/113   

>> exp(1)

ans =

    1457/536   

Man har også et eget format for økonomiske formål. Det vil si desimaltallene rundes opp/ned slik at du bare har 2 desimaltall. Dette er format bank.