SharedSage genom exempel / Variabler_och_funktioner.sagewsOpen in CoCalc
Author: Robert Nyqvist

Variabler och funktioner

Variabelnamn kan innehålla flera bokstäver, siffror och understreck. Sage ser skillnad på gemener och versaler. Vidare får inte ett variabelnamn inledas med en siffra. En variabel tilldelas ett värde med likhetstecken, med variabeln i vänsterledet och ett uttryck i högerldet. Vid tilldelning sker ingen utskrift.
a = 2^6 - 1
Önskar man se värdet som en variabel har anropar man den.
a
63
Variabeln kan nu anropas genom att ingå i beräknnigar.
5 * a^3
1250235
Notera att man inte förändrar värdet på variabeln då den används.
a
63
Vid tilldelning avgör Sage datatypen för variabeln.
type(a)
<type 'sage.rings.integer.Integer'>
b = 17/5 type(b)
<type 'sage.rings.rational.Rational'>
Till varje datatyp är flera olika metoder fördefinierade. Dessa är kopplade till en variabel via punktnotation, vilket innebär att man kan anropa en metod med en variabel som indata genom att skriva variabeln följt av punkt och därefter metoden.
a.is_prime() # Är samma sak som is_prime(a). Funktionen avgör om a är ett primtal.
False
Kommentarer i kod inleds med nummertecken (#).
Genom att skriva variabeln följt av punkt och sedan trycka tabulator visas en lista på alla möjliga metoder för just den variabeln. Tabulatorkomplettering fungerar även på egendefinierade variabler och funktioner.
Man kan tilldela flera variabler samtidigt. I koden nedan sätter vi a=25+1a = 2^5 + 1, b=(a1)/7b = (a - 1)/7 och c=bac = b^a.
a, b, c = 2^5 + 1, (a - 1)/7, b^a a, b, c # Skriv ut variablernas värden
(33, 256/7, 8273153554255617868983008432299507701873690283447163912225368429446311715550180068658483561349865846704311797996005892990494607142525675800342567010930760478881504606029054999488050624099750939339790755426321297478858807972510657577430552150649899640468901338121294090979219428234512847003533414175726178693610069347755095659695353545360529790683181065043538446867918248788742705333365840422466199773229341881841562551926235483545177894989221351527346588987721531194144175285969973689640218042094418808237706900648114671371775300698367651383174442595695957899162146670906778789201530522867749937550298524431256635047936/15495167800322337088151320308324621560137619351820511489414564733672934818055929977936024036865582665479561186836188253192071543981583920103992195064673625212658440861653815315642727134567765048849723702327426438195207)
Med implicit_multiplication tolkas en tal direkt följt av en variabel som en multiplikation.
implicit_multiplication(True) 2a
126
Nedan definierar vi funktionen f(x)=x2+3x+1f(x) = x^2 + 3x + 1. Eftersom vi ovan satt implicit_multiplication till sant behöver vi inte skriva 3*x.
f(x) = x^2 + 3x + 1
Man beräknar ett funktionsvärde f(x)f(x) genom att anropa funktionen med motsvarande värde på variabeln xx.
f(-2)
-1
Vi sätter typeset_mode till sant för att erhålla mer lättläst utdata.
typeset_mode(True)
Sage betraktar funktioner på samma sätt som vi betraktar funktioner i matematiken. Med f(x)f(x) avses det som xx avbildas på.
f(x)
x2+3x+1\displaystyle x^{2} + 3 \, x + 1
Medan ff avser själva avbildningen.
f
x  x2+3x+1\displaystyle x \ {\mapsto}\ x^{2} + 3 \, x + 1
Punktnotation som nämndes ovan för variabler är också implementerade för funktioner. Vi kan t.ex. derivera funktionen.
f.diff()
x  2x+3\displaystyle x \ {\mapsto}\ 2 \, x + 3
Vi kan enkelt rita en funktionsgraf.
plot(f, (-3, 1))