From 2ebd0803ae3839d2ea8309ae56a87b6e32b3c7b7 Mon Sep 17 00:00:00 2001 From: Meik Hellmund Date: Mon, 27 May 2024 21:56:40 +0200 Subject: [PATCH] small errors corrected --- chapters/13_IO.qmd | 88 +++++++++++++++++++------------------- chapters/14_Plot.qmd | 4 +- chapters/6_ArraysEtcP1.qmd | 4 +- 3 files changed, 47 insertions(+), 49 deletions(-) diff --git a/chapters/13_IO.qmd b/chapters/13_IO.qmd index d6987c3..2bc8e50 100644 --- a/chapters/13_IO.qmd +++ b/chapters/13_IO.qmd @@ -36,7 +36,7 @@ zahlreiche Varianten und Funktionen, das Folgende ist eine kleine Auswahl - `flush(stdout)` leert Buffer -```julia +```{julia} # aus dem ersten Beispielprogramm function input(prompt = "Eingabe:") @@ -48,17 +48,17 @@ end ``` -```julia +```{julia} a = input("Bitte 2 Zahlen eingeben!") ``` -```julia +```{julia} av = split(a) ``` -```julia +```{julia} parse.(Int, av) ``` @@ -116,33 +116,33 @@ Anzahl der minimal verwendeten Zeichen (wenn nötig, werden auch mehr genommen) Zeit für Beispiele: -```julia +```{julia} using Printf # Paket laden nicht vergessen! ``` -```julia +```{julia} @printf("|%s|", "Hallo") # string mit Platzhalter für String ``` -```julia +```{julia} @printf("|%10s|", "Hallo") # Minimallänge, rechtsbündig ``` -```julia +```{julia} @printf("|%-10s|", "Hallo") # linksbündig ``` -```julia +```{julia} @printf("|%3s|", "Hallo") # Längenangabe kann überschritten werden # besser eine 'kaputt formatierte' Tabelle als falsche Werte!! ``` -```julia +```{julia} j = 123 k = 90019001 l = 3342678 @@ -153,14 +153,14 @@ l = 3342678 `@printf` und `@sprintf` können wie alle Macros wie Funktionen aufgerufen werden: -```julia +```{julia} @printf("%i %i", 22, j) ``` -- oder wie Macros, also ohne Funktionsklammern und ohne Komma: -```julia +```{julia} @printf "%i %i" 22 j ``` @@ -180,12 +180,12 @@ Ansonsten besteht die Argumentliste aus `@sprintf` druckt nichts, sondern liefert den ausgefüllten formatierten String zurück: -```julia +```{julia} str = @sprintf("x = %10.6f", π ); ``` -```julia +```{julia} str ``` @@ -197,19 +197,19 @@ Bedeutung des _Precision_-Wertes: - `%g`-Format: max. Anzahl von ausgegebenen Ziffern (Vor- + Nachkommastellen) -```julia +```{julia} x = 123456.7890123456 @printf("%20.4f %20.4e", x, x) # 4 Nachkommastellen ``` -```julia +```{julia} @printf("%20.7f %20.7e", x, x) # 7 Nachkommastellen ``` -```julia +```{julia} @printf("%20.7g %20.4g", x, x) # insgesamt 7 bzw. 4 Stellen ``` @@ -234,7 +234,7 @@ Dateien werden ``` -```julia +```{julia} f = open("datei.txt", "w") ``` @@ -244,27 +244,27 @@ f = open("datei.txt", "w") ``` -```julia +```{julia} println(f, " zweite Zeile") ``` -```julia +```{julia} close(f) ``` -```julia +```{julia} ;cat datei.txt ``` -```julia +```{julia} f = open("datei.txt", "r") ``` -```julia +```{julia} n = 0 for i in readlines(f) # Lese zeilenweise n += 1 @@ -287,43 +287,43 @@ und viele andere mehr... -```julia +```{julia} using DelimitedFiles ``` -```julia +```{julia} A = rand(200,3) ``` -```julia +```{julia} f = open("data2.txt", "w") ``` -```julia +```{julia} writedlm(f, A) ``` -```julia +```{julia} close(f) ``` -```julia +```{julia} ;head data2.txt ``` -```julia +```{julia} B = readdlm("data2.txt") ``` -```julia +```{julia} # man kann open() auch als 1.Argument eine function(iostream) übergeben, die auf den stream # angewendet wird, wonach der stream automatisch geschlosssen wird. # @@ -342,12 +342,12 @@ end -```julia +```{julia} using CSV, DataFrames, Downloads ``` -```julia +```{julia} # Wetterdaten von Westerland, s. https://dev.meteostat.net/bulk/hourly.html @@ -355,17 +355,17 @@ url = "https://bulk.meteostat.net/v2/hourly/10018.csv.gz" ``` -```julia +```{julia} http_response = Downloads.download(url) ``` -```julia +```{julia} file = CSV.File(http_response, header=false) ``` -```julia +```{julia} # https://dev.meteostat.net/bulk/hourly.html#endpoints # Spalte 1 Datum @@ -381,45 +381,43 @@ df = DataFrame(file) ``` -```julia +```{julia} describe(df) ``` -```julia +```{julia} using StatsPlots ``` -```julia +```{julia} using Dates ``` -```julia +```{julia} # neue Spalte mit Sp.1 und 2 (date & time) kombiniert df[!, :datetime] = DateTime.(df.Column1) .+ Hour.(df.Column2); ``` -```julia +```{julia} describe(df) ``` -```julia +```{julia} @df df plot(:datetime, :Column3) ``` -```julia +```{julia} @df df plot(:datetime, [:Column9, :Column6, :Column3], xlims = (DateTime(2022,1,1), DateTime(2022,7,1)), layout=(3,1), title=["Wind" "Regen" "Temp"], legend=:none) ``` -```julia -``` diff --git a/chapters/14_Plot.qmd b/chapters/14_Plot.qmd index 40045b3..55bf6dd 100644 --- a/chapters/14_Plot.qmd +++ b/chapters/14_Plot.qmd @@ -55,7 +55,7 @@ cx = @. cos(2x^(1/2)) plot(x, [sx cx]) ``` -- Die Funktionen des _Plots.jl_-Paketes wie `plot(), scatter(), contour(), heatmap(),histogram(), bar(),...` usw. starten alle einen neuen Plot. +- Die Funktionen des _Plots.jl_-Paketes wie `plot(), scatter(), contour(), heatmap(), histogram(), bar(),...` usw. starten alle einen neuen Plot. - Die Versionen `plot!(), scatter!(), contour!(), heatmap!(), histogram!(), bar!(),...` erweitern einen existierenden Plot: ```{julia} @@ -387,7 +387,7 @@ Der Datensatz ["Motor Trend Car Road Tests"](https://rdrr.io/r/datasets/mtcars.h cars = dataset("datasets", "mtcars") ``` -Wir brauchen für den Plot nur die beiden Spalten `cars.Model` und `cars.MPG`, den Benzinverbrauch in _Meilen pro Gallon_ (Mehr heißt sparsamer!) +Wir brauchen für den Plot nur die beiden Spalten `cars.Model` und `cars.MPG`, den Benzinverbrauch in _miles per gallon_ (Mehr heißt sparsamer!) ```{julia} theme(:bright) diff --git a/chapters/6_ArraysEtcP1.qmd b/chapters/6_ArraysEtcP1.qmd index fd31646..eb23e74 100644 --- a/chapters/6_ArraysEtcP1.qmd +++ b/chapters/6_ArraysEtcP1.qmd @@ -132,12 +132,12 @@ Allerdings wäre es sehr ineffektiv, diesen Container tatsächlich explizit anzu Das Macro `@allocated` gibt aus, wieviel Bytes an Speicher bei der Auswertung eines Ausdrucks alloziert wurden. ```{julia} -@allocated [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] +@allocated r = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] ``` ```{julia} -@allocated 1:20 +@allocated r = 1:20 ```