Cheatsheet
Dette ark lister de mest oplagte funktioner i gym_cas
for hvert emne i Systimes Matematikbøger for HTX.
Konkrete taleksempler (og flere variationer) kan findes i den tilhørende PDF, som dog er meget lang pga. de mange figurer.
For notation se PDF: LaTeX Math for Undergrads.
Det antages at gym_cas
først importeres således:
from gym_cas import *
B1. Tal- og bogstavregning
expand( udtryk ) factor( udtryk )
B2. Ligninger og uligheder
solve( udtryk )
solve( [udtryk1, udtryk2] )
nsolve( udtryk, startgæt ) solve_interval( udtryk, start, slut )
Bemærk at den nemmeste måde at bruge solve
i SymPy
er ved at omforme sin ligning så en af siderne er lig 0. Hvis man fx vil løse ligningen x/2 = 10
så kan det skrives solve(x/2-10)
.
Som standard tjekker SymPy at løsningerne der findes rent faktisk passer ud fra betingelser til ligningssystemet (fx at der ikke kan divideres med 0 eller at løsningen er et reelt tal). Det kan udelukke løsninger som pga. præcision måske har en meget lille imaginær del som der kan ses bort fra. Tjekket kan slås fra vha. argumentet check = False
hvorved man kan se alle løsninger, men kræver at man selv er obs på at de viste løsninger rent faktisk er gyldige.
= False) solve( udtryk, check
B3. Geometri og trigonometri
Sin( vinkel )
Cos( vinkel )
Tan( vinkel )
aSin( forhold )
aCos( forhold ) aTan( forhold )
B4. Analytisk plangeometri
plot_points( X_list ,Y_list)
plot( funktion )
plot_implicit( udtryk ,(x, x_min, x_max),(y, y_min, y_max)) plot_geometry( Geometrisk objekt )
Flere grafer i en afbildning
= plot( udtryk1 )
p1 = plot( udtryk2 )
p2 = p1 + p2
p p.show()
Figurtekst i PDF
Figurbeskrivelser kan laves med #| fig-cap: "Beskrivelse"
i kodeblokke.
Interaktive plots
Hvis interaktive plots ønskes i VScode kan %matplotlib widget
eksekveres i notebookens første kodeblok. Dette kræver biblioteket ipympl
(som kan hentes ved pip install ipympl
i terminal).
B5. Vektorer
= vector(x,y)
a
a.norm()
a.dot(b)
plot_vector( vektor )
plot_vector( start, vektor ) plot_vector( [vektor1, vektor2, ...])
B6. Deskriptiv Statistik
Ugrupperet
max( data )
min( data )
mean( data )
median( data )
var( data, ddof )
std( data, ddof )
kvartiler( data )
percentile( data , procenter )
frekvenstabel( data )
boxplot( data )
plot_sum( data ) plot_bars( data )
Grupperet
group_mean( data, grupper )
group_percentile( data, grupper, procenter )
group_var( data, grupper, ddof )
group_std( data, grupper, ddof )
frekvenstabel( data, grupper )
boxplot( data, grupper )
plot_sum( data, grupper ) plot_hist( data, grupper )
B8. Funktioner
def f(x):
return funktionsudtryk
3)
f(
def f(x):
return Piecewise(( funktion1, betingelse1), (funktion2, betingelse2))
="log")
plot( funktion , yscale="log", yscale="log")
plot( funktion , (variabel, start, stop), xscale
regression_poly(X,Y, grad)
regression_power(X,Y) regression_exp(X,Y)
B9. Differentialregning
limit( udtryk, variabel, grænse, retning )
diff( funktion )def df(xi):
return diff( funktion ).subs( variabel, xi )
B10. Integralregning
integrate( udtryk )
integrate( udtryk, ( variabel, start, slut ))="x") plot3d_revolution( udtryk , (x, a, b), parallel_axis
A1. Vektorer i rummet
= vector(1,2,3)
a
a.cross(b)
plot_vector( a )
plot3d_points( X, Y, Z )+ t * r )
plot3d_line( a + s * r1 + t * r2 )
plot3d_plane( a
plot3d_sphere( radius, centrum )=PB ) # Kræver Plotly eller K3D plot3d_implicit( ligning, backend
Kamera i 3D plots
“Kameraet” i 3D plots kan styres vha. camera
parameteren i plot3d
-funktionerne. Her kan fx sættes “elev” og “azim” som er hhv. vinklen til det horizontale plan og rotationsvinklen om den vertikale akse. Eksempel:
+ s * r1 + t * r2, camera = {"elev": grader, "azim": grader} ) plot3d_plane( a
A4. Differentialligninger
= Function('f')
f
dsolve( ode ) plot_ode( ode, (x, start, stop), (f, start, stop))
A5. Diskret Matematik
= [ udregning for x in range(start,slut)]
X = [ startbetingelse ]
X for i in range(start, slut):
X.append( rekursionsligning )