Symbolske beregninger i Matlab: Forskjell mellom sideversjoner
Linje 57: | Linje 57: | ||
</pre> | </pre> | ||
Vi fikk y = 2 og x = 3 som vi ser oppfyller ligningen over. | |||
==Derivering== | ==Derivering== |
Sideversjonen fra 29. apr. 2009 kl. 08:03
Innføring i Matlab |
---|
Introduksjon |
Matlab ble opprinnelig laget som et program for numeriske beregninger, men har i ettertid fått støtte får symbolske beregninger. Vi skal se på noen anvendelser.
Ligninger
La oss si du skal løse ligningen
<tex>3x + 6 = 2x + 9</tex>
Vi forteller først Matlab at x er en variabel, med kommandoen syms x. Dette kan tenkes på som en forkortelse for Symbolsk verdier: x. Vi løser denne videre med kommandoen solve som tar to parametere: det algebraiske uttrykket vi vil løse og hvilken variabel vi løser det med hensyn på. Her blir det uttrykket angitt over og x. Det algebraiske uttrykket må skrives innenfor apostrofer. Husk at du må skrive 3*x og 2*x, siden det blir feilmelding når man ikke skriver *.
>> syms x >> solve('3*x + 6 = 2*x + 9', x) ans = 3
Denne kommandoen kan brukes til å løse ligninger som er en del vanskeligere også.
<tex>\sqrt{x + 3} + \sqrt{x + 5} = 8</tex>
>> syms x >> solve('sqrt(x + 3) + sqrt(x + 5) = 8', x) ans = 769/64
Ligninger med flere ukjente
Kommandoen solve brukes flere ganger om man har flere ligninger med flere ukjente. La oss ta et lignignssystem som eksempel.
<tex>3x + 4y = 17</tex>
<tex>2x + 5y = 16</tex>
Husk å fortelle Matlab at både x og y er symbolske verdier. Merk at vi løser den første ligningen med hensyn på x, som angitt, og den andre på hensyn av y, som vi også må angi i kommandoen solve.
>> syms x y >> solve('3*x + 4*y = 17', x) ans = -4/3*y+17/3 >> solve('2*(-4/3*y+17/3) + 5*y = 16',y) ans = 2 >> -4/3*(2)+17/3 ans = 3.0000
Vi fikk y = 2 og x = 3 som vi ser oppfyller ligningen over.