ExportPlot (fil,typ)
ExportPlot (fil)
Exportera innehållet för graffönstret till en fil. Typen är en sträng som anger filtypen att använda, "png", "eps" eller "ps". Om typen inte är angiven antas den vara ändelsen, i vilket fall ändelsen måste vara ".png", ".eps", eller ".ps".
Observera att filer skrivs över utan att du tillfrågas.
Vid lyckad export returneras true. I annat fall skrivs ett fel ut och ett undantag flaggas.
Examples:
genius>
ExportPlot("file.png")
genius>
ExportPlot("/directory/file","eps")
Version 1.0.16 och framåt.
LinePlot (funk1,funk2,funk3,...)
LinePlot (funk1,funk2,funk3,x1,x2)
LinePlot (funk1,funk2,funk3,x1,x2,y1,y2)
LinePlot (funk1,funk2,funk3,[x1,x2])
LinePlot (funk1,funk2,funk3,[x1,x2,y1,y2])
Rita en funktion (eller flera) med en linjegraf. De första (upp till 10) argumenten är funktioner, sedan kan du valfritt ange gränserna för graffönstret som x1
, x2
, y1
, y2
. Om gränser inte anges kommer de aktuellt inställda gränserna att användas (Se LinePlotWindow
) Om y-gränserna inte anges beräknas funktionerna och sedan används max- och minvärdena.
Parametern LinePlotDrawLegends
styr om förklaringen ritas ut.
Examples:
genius>
LinePlot(sin,cos)
genius>
LinePlot(`(x)=x^2,-1,1,0,1)
LinePlotClear ()
Visa linjegrafsfönstret och rensa bort funktioner och alla andra linjer som ritades.
LinePlotCParametric (funk,...)
LinePlotCParametric (funk,t1,t2,tinc)
LinePlotCParametric (funk,t1,t2,tinc,x1,x2,y1,y2)
Rita en parametrisk komplexvärd funktion med en linjegraf. Först kommer funktionen som returnerar x+iy
sedan valfritt t
-gränserna som t1,t2,tinc
, sedan valfritt gränserna som x1,x2,y1,y2
.
Om gränser inte anges kommer de aktuellt inställda gränserna att användas (Se LinePlotWindow
). Om istället strängen "fit" anges för x- och y-gränserna kommer gränserna vara den största utsträckningen för grafen
Parametern LinePlotDrawLegends
styr om förklaringen ritas ut.
LinePlotDrawLine (x1,y1,x2,y2,...)
LinePlotDrawLine (v,...)
Rita en linje från x1
,y1
till x2
,y2
. x1
,y1
, x2
,y2
kan ersättas med en n
×2-matris för ett längre polygontåg. Alternativt kan vektorn v
vara en kolumnvektor med komplexa tal, det vill säga en n
×1-matris och varje komplext tal anses då vara en punkt i planet.
Extra parametrar kan läggas till för att ange linjefärg, tjocklek, pilar, graffönstret eller förklaring. Du kan göra detta genom att lägga till en argumentsträng "color"
, "thickness"
, "window"
, "arrow"
eller "legend"
, och efter detta ange färgen, tjockleken, fönstret som en 4-vektor, piltyp eller förklaringen. (Pil och fönster är från version 1.0.6 och framåt.)
Om linjen ska behandlas som en fylld polygon som är fylld med den angivna färgen kan du ange argumentet "filled"
. Sedan version 1.0.22 och framåt.
Färgen ska vara antingen en sträng som indikerar det vanliga engelska ordet för färgen som GTK kommer känna igen, som "red"
, "blue"
, "yellow"
, o.s.v... Alternativt kan färgen anges i RGB-format som "#rgb"
, "#rrggbb"
eller "#rrrrggggbbbb"
, där r, g och b är hexadecimala tal för de röda, gröna och blåa komponenterna av färgen. Slutligen kan sedan version 1.0.18 färgen också anges som en reell vektor som anger de röda gröna och blåa komponenterna där komponenterna är mellan 0 och 1, t.ex. [1.0,0.5,0.1]
.
Fönstret ska som vanligt anges som [x1,x2,y1,y2]
, eller kan alternativt anges som en sträng "fit"
i vilket fall x-intervallet kommer ställas in precis och y-intervallet med fem procents gränser kring linjen.
Pilspecifikation ska vara "origin"
, "end"
, "both"
eller "none"
.
Slutligen ska förklaring vara en sträng som kan användas som förklaring i grafen. Det vill säga om förklaringar skrivs ut.
Examples:
genius>
LinePlotDrawLine(0,0,1,1,"color","blue","thickness",3)
genius>
LinePlotDrawLine([0,0;1,-1;-1,-1])
genius>
LinePlotDrawLine([0,0;1,1],"arrow","end")
genius>
LinePlotDrawLine(RungeKuttaFull(`(x,y)=y,0,0.001,10,100),"color","blue","legend","The Solution")
genius>
for r=0.0 to 1.0 by 0.1 do LinePlotDrawLine([0,0;1,r],"color",[r,(1-r),0.5],"window",[0,1,0,1])
genius>
LinePlotDrawLine([0,0;10,0;10,10;0,10],"filled","color","green")
Till skillnad från många andra funktioner som inte bryr sig om de tar en kolumn- eller radvektor så måste på grund av möjliga tvetydigheter punkter som anges som en vektor av komplexa tal alltid anges som en kolumnvektor.
Att ange v
som en kolumnvektor med komplexa tal är implementerat från version 1.0.22 och framåt.
LinePlotDrawPoints (x,y,...)
LinePlotDrawPoints (v,...)
Rita en punkt vid x
,y
. Indata kan vara en n
×2-matris för n
olika punkter. Denna funktion har i stort sett samma indata som LinePlotDrawLine. Alternativt kan vektorn v
vara en kolumnvektor med komplexa tal, det vill säga en n
×1-matris och varje komplext tal anses då vara en punkt i planet.
Extra parametrar kan läggas till för att ange färg, tjocklek, graffönstret eller förklaring. Du kan göra detta genom att lägga till en argumentsträng "color"
, "thickness"
, "window"
eller "legend"
, och efter detta ange färgen, tjockleken, fönstret som en 4-vektor eller förklaringen.
Färgen ska vara antingen en sträng som indikerar det vanliga engelska ordet för färgen som GTK kommer känna igen, som "red"
, "blue"
, "yellow"
, o.s.v... Alternativt kan färgen anges i RGB-format som "#rgb"
, "#rrggbb"
eller "#rrrrggggbbbb"
, där r, g och b är hexadecimala tal för de röda, gröna och blåa komponenterna av färgen. Slutligen kan färgen också anges som en reell vektor som anger de röda gröna och blåa komponenterna där komponenterna är mellan 0 och 1.
Fönstret ska som vanligt anges som [x1,x2,y1,y2]
, eller kan alternativt anges som en sträng "fit"
i vilket fall x-intervallet kommer ställas in precis och y-intervallet med fem procents gränser kring linjen.
Slutligen ska förklaring vara en sträng som kan användas som förklaring i grafen. Det vill säga om förklaringar skrivs ut.
Examples:
genius>
LinePlotDrawPoints(0,0,"color","blue","thickness",3)
genius>
LinePlotDrawPoints([0,0;1,-1;-1,-1])
genius>
LinePlotDrawPoints(RungeKuttaFull(`(x,y)=y,0,0.001,10,100),"color","blue","legend","The Solution")
genius>
LinePlotDrawPoints([1;1+1i;1i;0],"thickness",5)
genius>
LinePlotDrawPoints(ApplyOverMatrix((0:6)',`(k)=exp(k*2*pi*1i/7)),"thickness",3,"legend","The 7th roots of unity")
Till skillnad från många andra funktioner som inte bryr sig om de tar en kolumn- eller radvektor så måste på grund av möjliga tvetydigheter punkter som anges som en vektor av komplexa tal alltid anges som en kolumnvektor. Notera därför i sista exemplet transponatet av vektorn 0:6
för att göra den till en kolumvektor.
Tillgängligt från version 1.0.18 och framåt. Att ange v
som en kolumnvektor med komplexa tal är implementerat från version 1.0.22 och framåt.
LinePlotMouseLocation ()
Returnerar en radvektor för en punkt på linjegrafen som motsvarar den aktuella positionen för musen. Om linjegrafen inte är synlig skrivs ett fel ut och null
returneras. I detta fall bör du köra LinePlot
eller LinePlotClear
för att ställa graffönstret i linjegrafsläget. Se även LinePlotWaitForClick
.
LinePlotParametric (xfunk,yfunk,...)
LinePlotParametric (xfunk,yfunk,t1,t2,tinc)
LinePlotParametric (xfunk,yfunk,t1,t2,tinc,x1,x2,y1,y2)
LinePlotParametric (xfunk,yfunk,t1,t2,tinc,[x1,x2,y1,y2])
LinePlotParametric (xfunk,yfunk,t1,t2,tinc,"fit")
Rita en parametrisk funktion med en linjegraf. Först kommer funktionerna för x
och y
, sedan valfritt t
-gränserna som t1,t2,tinc
, sedan valfritt gränserna som x1,x2,y1,y2
.
Om x- och y-gränser inte anges kommer de aktuellt inställda gränserna att användas (Se LinePlotWindow
). Om istället strängen "fit" anges för x- och y-gränserna kommer gränserna vara den största utsträckningen för grafen
Parametern LinePlotDrawLegends
styr om förklaringen ritas ut.
LinePlotWaitForClick ()
Om i linjegrafsläge så inväntas ett klick på linjegrafsfönstret och platsen för klicket returneras som en radvektor. Om fönstret är stängt returnerar funktionen omedelbart null
. Om fönstret inte är i linjegrafsläge ställs det i det läget och visas om det inte visats. Se även LinePlotMouseLocation
.
PlotCanvasFreeze ()
Frys tillfälligt ritande av grafens rityta. Användbart om du behöver rita ett gäng element och vill fördröja ritande av allt för att undvika flimmer i en animering. Efter att allt har ritats bör du anropa PlotCanvasThaw
.
Ritytan töas alltid upp efter att en exekvering avslutas. så den kommer aldrig att förbli frusen. Till exempel töas ritytan automatiskt ögonblicket då en ny kommandorad visas. Observera också att anrop för att frysa och töa upp kan nästas på ett säkert sätt.
Version 1.0.18 och framåt.
PlotCanvasThaw ()
Töa upp ritytan för graf som frystes av PlotCanvasFreeze
och rita om ritytan omedelbart. Ritytan töas också alltid upp efter att ett program slutat exekvera.
Version 1.0.18 och framåt.
PlotWindowPresent ()
Visa och höj graffönstret, skapa det om nödvändigt. Normalt skapas fönstret då en av graffunktionerna anropas, men det höjs inte alltid om det råkar vara under andra fönster. Denna funktion är därför bra att anropa i skript där graffönstret kan ha skapats tidigare, och nu är dolt bakom konsolen eller andra fönster.
Version 1.0.19 och framåt.
SlopefieldClearSolutions ()
Rensar bort lösningarna som ritats av funktionen SlopefieldDrawSolution
.
SlopefieldDrawSolution (x, y, dx)
Då en riktningsfältsgraf är aktiv, rita en lösning med de angivna startvillkoren. Den vanliga Runge-Kutta-metoden används med ökning dx
. Lösningarna stannar i grafen tills en annan graf visas eller tills du anropar SlopefieldClearSolutions
. Du kan också använda det grafiska gränssnittet för att rita lösningar och ange startvillkor med musen.
SlopefieldPlot (funk)
SlopefieldPlot (funk,x1,x2,y1,y2)
Rita ett riktningsfält. Funktionen funk
ska ta två reella tal x
och y
eller ett ensamt komplext tal. Valfritt kan du ange gränserna för graffönstret som x1
, x2
, y1
, y2
. Om gränser inte anges kommer de aktuellt inställda gränserna att användas (Se LinePlotWindow
).
Parametern LinePlotDrawLegends
styr om förklaringen ritas ut.
Examples:
genius>
SlopefieldPlot(`(x,y)=sin(x-y),-5,5,-5,5)
SurfacePlot (funk)
SurfacePlot (funk,x1,x2,y1,y2,z1,z2)
SurfacePlot (funk,x1,x2,y1,y2)
SurfacePlot (funk,[x1,x2,y1,y2,z1,z2])
SurfacePlot (funk,[x1,x2,y1,y2])
Rita en ytfunktion som antingen tar två argument eller ett komplext tal. Först kommer funktionen sedan valfritt gränser som x1
, x2
, y1
, y2
, z1
, z2
. Om gränser inte anges kommer de aktuellt inställda gränserna att användas (Se SurfacePlotWindow
). Genius kan för närvarande endast rita ut en ensam ytgraf.
Om z-gränserna inte är angivna kommer maximum- och minimumvärdena för funktionen att användas.
Examples:
genius>
SurfacePlot(|sin|,-1,1,-1,1,0,1.5)
genius>
SurfacePlot(`(x,y)=x^2+y,-1,1,-1,1,-2,2)
genius>
SurfacePlot(`(z)=|z|^2,-1,1,-1,1,0,2)
SurfacePlotClear ()
Visa ytgrafsfönstret och rensa ut funktioner och alla andra linjer som ritats.
Tillgängligt i version 1.0.19 och framåt.
SurfacePlotData (data)
SurfacePlotData (data,etikett)
SurfacePlotData (data,x1,x2,y1,y2,z1,z2)
SurfacePlotData (data,etikett,x1,x2,y1,y2,z1,z2)
SurfacePlotData (data,[x1,x2,y1,y2,z1,z2])
SurfacePlotData (data,etikett,[x1,x2,y1,y2,z1,z2])
Rita en yta från data. Data är en n×3-matris vars rader är x-, y- och z-koordinaterna. Data kan också helt enkelt vara en vektor vars längd är en multipel av 3 och därmed innehåller tripplarna av x, y, z. Data ska innehålla minst 3 punkter.
Valfritt kan vi ange etiketten och valfritt även gränserna. Om gränserna inte anges beräknas de från data, SurfacePlotWindow
används inte, om du vill använda det, skicka med det explicit. Om ingen etikett anges används en tom etikett.
Examples:
genius>
SurfacePlotData([0,0,0;1,0,1;0,1,1;1,1,3])
genius>
SurfacePlotData(data,"My data")
genius>
SurfacePlotData(data,-1,1,-1,1,0,10)
genius>
SurfacePlotData(data,SurfacePlotWindow)
Here's an example of how to plot in polar coordinates,
in particular how to plot the function
-r^2 * theta
:
genius>
d:=null; for r=0 to 1 by 0.1 do for theta=0 to 2*pi by pi/5 do d=[d;[r*cos(theta),r*sin(theta),-r^2*theta]];
genius>
SurfacePlotData(d)
Version 1.0.16 och framåt.
SurfacePlotDataGrid (data,[x1,x2,y1,y2])
SurfacePlotDataGrid (data,[x1,x2,y1,y2,z1,z2])
SurfacePlotDataGrid (data,[x1,x2,y1,y2],etikett)
SurfacePlotDataGrid (data,[x1,x2,y1,y2,z1,z2],etikett)
Rita en yta från vanliga rektangulära data. Data ges i en n×m-matris där raderna är x-koordinaten och kolumnerna är y-koordinaten. x-koordinaten delas in i n-1 lika stora delintervall och y-koordinaten delas in i m-1 lika stora delintervall. Gränserna x1
och x2
ger intervallet på x-axeln som vi använder, och gränserna y1
och y2
ger intervallet på y-axeln som vi använder. Om gränserna z1
och z2
inte anges beräknas de från data (till att vara extremvärdena från data).
Valfritt kan vi ange etiketten, om etikett inte anges används en tom etikett.
Examples:
genius>
SurfacePlotDataGrid([1,2;3,4],[0,1,0,1])
genius>
SurfacePlotDataGrid(data,[-1,1,-1,1],"My data")
genius>
d:=null; for i=1 to 20 do for j=1 to 10 do d@(i,j) = (0.1*i-1)^2-(0.1*j)^2;
genius>
SurfacePlotDataGrid(d,[-1,1,0,1],"half a saddle")
Version 1.0.16 och framåt.
SurfacePlotDrawLine (x1,y1,z1,x2,y2,z2,...)
SurfacePlotDrawLine (v,...)
Rita en linje från x1
,y1
,z1
till x2
,y2
,z2
. x1
,y1
,z1
, x2
,y2
,z2
kan ersättas med en n
×3-matris för ett längre polygontåg.
Extra parametrar kan läggas till för att ange linjefärg, tjocklek, graffönster eller förklaring. Du kan göra detta genom att lägga till en argumentsträng "color"
, "thickness"
, "window"
eller "legend"
, och efter detta ange färgen, tjockleken, fönstret som en 6-vektor eller förklaringen.
Färgen ska vara antingen en sträng som indikerar det vanliga engelska ordet för färgen som GTK kommer känna igen, som "red"
, "blue"
, "yellow"
, o.s.v... Alternativt kan färgen anges i RGB-format som "#rgb"
, "#rrggbb"
eller "#rrrrggggbbbb"
, där r, g och b är hexadecimala tal för de röda, gröna och blåa komponenterna av färgen. Slutligen kan sedan version 1.0.18 färgen också anges som en reell vektor som anger de röda gröna och blåa komponenterna där komponenterna är mellan 0 och 1, t.ex. [1.0,0.5,0.1]
.
Fönstret ska som vanligt anges som [x1,x2,y1,y2,z1,z2]
, eller kan alternativt anges som en sträng "fit"
i vilket fall x-intervallet kommer ställas in precis och y-intervallet med fem procents gränser kring linjen.
Slutligen ska förklaring vara en sträng som kan användas som förklaring i grafen. Det vill säga om förklaringar skrivs ut.
Examples:
genius>
SurfacePlotDrawLine(0,0,0,1,1,1,"color","blue","thickness",3)
genius>
SurfacePlotDrawLine([0,0,0;1,-1,2;-1,-1,-3])
Tillgängligt i version 1.0.19 och framåt.
SurfacePlotDrawPoints (x,y,z,...)
SurfacePlotDrawPoints (v,...)
Rita en punkt vid x
,y
,z
. Indata kan vara en n
×3-matris för n
olika punkter. Denna funktion har i huvudsak samma indata som SurfacePlotDrawLine.
Extra parametrar kan läggas till för att ange linjefärg, tjocklek, graffönster eller förklaring. Du kan göra detta genom att lägga till en argumentsträng "color"
, "thickness"
, "window"
eller "legend"
, och efter detta ange färgen, tjockleken, fönstret som en 6-vektor eller förklaringen.
Färgen ska vara antingen en sträng som indikerar det vanliga engelska ordet för färgen som GTK kommer känna igen, som "red"
, "blue"
, "yellow"
, o.s.v... Alternativt kan färgen anges i RGB-format som "#rgb"
, "#rrggbb"
eller "#rrrrggggbbbb"
, där r, g och b är hexadecimala tal för de röda, gröna och blåa komponenterna av färgen. Slutligen kan färgen också anges som en reell vektor som anger de röda gröna och blåa komponenterna där komponenterna är mellan 0 och 1.
Fönstret ska som vanligt anges som [x1,x2,y1,y2,z1,z2]
, eller kan alternativt anges som en sträng "fit"
i vilket fall x-intervallet kommer ställas in precis och y-intervallet med fem procents gränser kring linjen.
Slutligen ska förklaring vara en sträng som kan användas som förklaring i grafen. Det vill säga om förklaringar skrivs ut.
Examples:
genius>
SurfacePlotDrawPoints(0,0,0,"color","blue","thickness",3)
genius>
SurfacePlotDrawPoints([0,0,0;1,-1,2;-1,-1,1])
Tillgängligt i version 1.0.19 och framåt.
VectorfieldClearSolutions ()
Rensar bort lösningarna som ritats av funktionen VectorfieldDrawSolution
.
Version 1.0.6 och framåt.
VectorfieldDrawSolution (x, y, dt, tlen)
Då en verktorfältsgraf är aktiv, rita en lösning med de angivna startvillkoren. Den vanliga Runge-Kutta-metoden används med ökning dt
under ett intervall med längden tlen
. Lösningarna stannar i grafen tills en annan graf visas eller tills du anropar VectorfieldClearSolutions
. Du kan också använda det grafiska gränssnittet för att rita lösningar och ange startvillkor med musen.
Version 1.0.6 och framåt.
VectorfieldPlot (funkx, funky)
VectorfieldPlot (funkx, funky, x1, x2, y1, y2)
Rita ett tvådimensionellt vektorfält. Funktionen funkx
ska vara dx/dt för vektorfältet och funktionen funky
ska vara dy/dt för vektorfältet. Funktionerna ska ta två reella tal x
och y
, eller ett ensamt komplext tal. Då parametern VectorfieldNormalized
är true
normaliseras magnituden för vektorerna. Det vill säga endast riktningen visas, inte magnituden.
Valfritt kan du ange gränserna för graffönstret som x1
, x2
, y1
, y2
. Om gränser inte anges kommer de aktuellt inställda gränserna att användas (Se LinePlotWindow
).
Parametern LinePlotDrawLegends
styr om förklaringen ritas ut.
Examples:
genius>
VectorfieldPlot(`(x,y)=x^2-y, `(x,y)=y^2-x, -1, 1, -1, 1)