gnuplot

På begäran från johan har jag nu plottat stegen det tar att stega ner till ett från 1- 1 000 000 med Collatz metod.

Steg för talen 1- 1 000 000

Steg för talen 1- 1 000 000

Detta samt tidigare plot gjordes med hjälp av gnuplot, ett verktyg för att plotta data.

Gnuplot tar tabulerad data och använder dessa som x-y-koordinater för att sätta ut punkter/linjer i en graf.

Nedan syns ett utdrag ur filen som användes för ovanstående plot:

#startvalue,  #steps
1   0
2   1
3   7
4   2
5   5
6   8
7   16
8   3
9   19
10    6
11    14
12    9
13    9
14    17
15    17
16    4

Gnuplot är kommando-baserat, dvs. när man startar gnuplot får man en prompt där man kan skriva kommandon.

Gnuplot efter uppstart

För att plotta min data kör jag då:

set xlabel start value
set ylabel steps
plot ‘steps.csv’ with dots

Detta plottar upp ovanstående graf på skärmen, för att spara på fil måste vi välja terminalformat, dvs hur gnuplot ska plotta datat:

set terminal ‘png’

png kan vara ett antal olika format (t.ex, jpeg, postscript eller latex)

Sedan väljer vi filnamn och plottar igen:

set output ‘steps1M.png’
plot ‘steps.csv’ with dots

detta plottar värdena med punkter ifall man ersätter dots med lines får man en linjegraf

Man kan också enkelt välja region att plotta genom att ange regionen med [start:stop]

set output ‘steps1k.png’
plot [0:1000] ‘steps.csv’ with dots

Detta plottar startvärdena 0 – 1000.

Steg för området 1 - 1000

Steg för området 1 - 1000

Gnuplot är väldigt smidigt ifall man har enkla dataserier man vill visualisera och inte orkar plocka upp excel. Jag har aldrig riktigt kommit överens med detta Microsoft-program så jag väljer gärna detta alternativ. Det är ett ganska kraftfullt verktyg och ifall man använder datorer för beräkningar är det ett kraftfullt verktyg eftersom det med hjälp av shellscript enkelt kan kopplas ihop med andra program. Programmet har mycket fler funktioner än jag ens kan komma på att söka efter, så jag har hitintills bara skrapat på ytan.

5 svar to “gnuplot”

  1. johan Says:

    Ett ord: ”Ouff!”

    Det blev inte som jag trodde. Mycket mer spritt och sen ganska intressant med 3:dje (2:a?)-grads-ekvations-utseendet på det mesta fast inte på allt, klart intressant med de enstaka ”höjdpunkterna”. Också intressant att det nästan är som steg i nummerserierna. Klart eggande för nån som gillar mönster och det finns säkert nån som luskat i om detta betyder nått. Eller så är det blott siffror i ett diagram…

  2. johan Says:

    Off-topic:

    Har fastnat i Metro 2033. Grym bok. Blir sugen på att åka till Moskva, fast jag köper nog mig en kalashnikova innan jag går ner i Metron…

  3. johan Says:

    P.S.

    Tog det mycket CPU-tid att beräkna allt?

  4. akeinexile Says:

    Nu är jag på väg till civilisationen igen efter en riktigt bra vecka i fjällen.

    Jag tror inte att de är någon som har lyckats ta fram en ekvation som analytiskt beskriver beteendet så man kan inte förutsäga antalet steg ett givet tal kräver utan det måste ”stegas igenom” för att veta hur många steg som krävs.

    Det tog ca 20 minuter att beräkna dessa har jag för mig, jag satte aldrig några tidsstämplar före/efter så jag kan inte svara exakt. Jag kom på det efteråt att det kunde vara intressant. när det exekverade tog det 80% av CPUn.

  5. Sannolikhet « Åke i exil Says:

    […] med GNUplot efter att ha kollat mitt tidigare inlägg hur man gör.  Påpeka gärna missar och fel jag gjort! Like this:GillaBli först att gilla denna […]

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s


%d bloggare gillar detta: