Matlab som kalkulator
Innføring i Matlab |
---|
Introduksjon |
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
Regneoperasjoner
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.
<tex>2^5 - 3 \,=\, 32 - 3 \,=\, 29</tex>
>> 2^5-3 ans = 29
<tex>2^{5 - 3} \,=\, 2^2 \,=\, 4</tex>
>> 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 <tex>\sqrt[3]{8} = 8^{\frac{1}{3}} = 2</tex> og det generelt er: <tex>\sqrt[n]{b} = b^{\frac{1}{n}}</tex>
>> 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.
<tex>\ln(3) = 1.0986</tex>
>> 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.
<tex>\text{e}^3 \,=\, 20.0855</tex>
>> 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 <tex>\pi</tex> 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 <tex>\pi</tex> 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 siste 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