small errors corrected

This commit is contained in:
Meik Hellmund 2024-05-27 21:56:40 +02:00
parent b3079a799e
commit 2ebd0803ae
3 changed files with 47 additions and 49 deletions

View File

@ -36,7 +36,7 @@ zahlreiche Varianten und Funktionen, das Folgende ist eine kleine Auswahl
- `flush(stdout)` leert Buffer - `flush(stdout)` leert Buffer
```julia ```{julia}
# aus dem ersten Beispielprogramm # aus dem ersten Beispielprogramm
function input(prompt = "Eingabe:") function input(prompt = "Eingabe:")
@ -48,17 +48,17 @@ end
``` ```
```julia ```{julia}
a = input("Bitte 2 Zahlen eingeben!") a = input("Bitte 2 Zahlen eingeben!")
``` ```
```julia ```{julia}
av = split(a) av = split(a)
``` ```
```julia ```{julia}
parse.(Int, av) parse.(Int, av)
``` ```
@ -116,33 +116,33 @@ Anzahl der minimal verwendeten Zeichen (wenn nötig, werden auch mehr genommen)
Zeit für Beispiele: Zeit für Beispiele:
```julia ```{julia}
using Printf # Paket laden nicht vergessen! using Printf # Paket laden nicht vergessen!
``` ```
```julia ```{julia}
@printf("|%s|", "Hallo") # string mit Platzhalter für String @printf("|%s|", "Hallo") # string mit Platzhalter für String
``` ```
```julia ```{julia}
@printf("|%10s|", "Hallo") # Minimallänge, rechtsbündig @printf("|%10s|", "Hallo") # Minimallänge, rechtsbündig
``` ```
```julia ```{julia}
@printf("|%-10s|", "Hallo") # linksbündig @printf("|%-10s|", "Hallo") # linksbündig
``` ```
```julia ```{julia}
@printf("|%3s|", "Hallo") # Längenangabe kann überschritten werden @printf("|%3s|", "Hallo") # Längenangabe kann überschritten werden
# besser eine 'kaputt formatierte' Tabelle als falsche Werte!! # besser eine 'kaputt formatierte' Tabelle als falsche Werte!!
``` ```
```julia ```{julia}
j = 123 j = 123
k = 90019001 k = 90019001
l = 3342678 l = 3342678
@ -153,14 +153,14 @@ l = 3342678
`@printf` und `@sprintf` können wie alle Macros wie Funktionen aufgerufen werden: `@printf` und `@sprintf` können wie alle Macros wie Funktionen aufgerufen werden:
```julia ```{julia}
@printf("%i %i", 22, j) @printf("%i %i", 22, j)
``` ```
-- oder wie Macros, also ohne Funktionsklammern und ohne Komma: -- oder wie Macros, also ohne Funktionsklammern und ohne Komma:
```julia ```{julia}
@printf "%i %i" 22 j @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: `@sprintf` druckt nichts, sondern liefert den ausgefüllten formatierten String zurück:
```julia ```{julia}
str = @sprintf("x = %10.6f", π ); str = @sprintf("x = %10.6f", π );
``` ```
```julia ```{julia}
str str
``` ```
@ -197,19 +197,19 @@ Bedeutung des _Precision_-Wertes:
- `%g`-Format: max. Anzahl von ausgegebenen Ziffern (Vor- + Nachkommastellen) - `%g`-Format: max. Anzahl von ausgegebenen Ziffern (Vor- + Nachkommastellen)
```julia ```{julia}
x = 123456.7890123456 x = 123456.7890123456
@printf("%20.4f %20.4e", x, x) # 4 Nachkommastellen @printf("%20.4f %20.4e", x, x) # 4 Nachkommastellen
``` ```
```julia ```{julia}
@printf("%20.7f %20.7e", x, x) # 7 Nachkommastellen @printf("%20.7f %20.7e", x, x) # 7 Nachkommastellen
``` ```
```julia ```{julia}
@printf("%20.7g %20.4g", x, x) # insgesamt 7 bzw. 4 Stellen @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") f = open("datei.txt", "w")
``` ```
@ -244,27 +244,27 @@ f = open("datei.txt", "w")
``` ```
```julia ```{julia}
println(f, " zweite Zeile") println(f, " zweite Zeile")
``` ```
```julia ```{julia}
close(f) close(f)
``` ```
```julia ```{julia}
;cat datei.txt ;cat datei.txt
``` ```
```julia ```{julia}
f = open("datei.txt", "r") f = open("datei.txt", "r")
``` ```
```julia ```{julia}
n = 0 n = 0
for i in readlines(f) # Lese zeilenweise for i in readlines(f) # Lese zeilenweise
n += 1 n += 1
@ -287,43 +287,43 @@ und viele andere mehr...
```julia ```{julia}
using DelimitedFiles using DelimitedFiles
``` ```
```julia ```{julia}
A = rand(200,3) A = rand(200,3)
``` ```
```julia ```{julia}
f = open("data2.txt", "w") f = open("data2.txt", "w")
``` ```
```julia ```{julia}
writedlm(f, A) writedlm(f, A)
``` ```
```julia ```{julia}
close(f) close(f)
``` ```
```julia ```{julia}
;head data2.txt ;head data2.txt
``` ```
```julia ```{julia}
B = readdlm("data2.txt") B = readdlm("data2.txt")
``` ```
```julia ```{julia}
# man kann open() auch als 1.Argument eine function(iostream) übergeben, die auf den stream # man kann open() auch als 1.Argument eine function(iostream) übergeben, die auf den stream
# angewendet wird, wonach der stream automatisch geschlosssen wird. # angewendet wird, wonach der stream automatisch geschlosssen wird.
# #
@ -342,12 +342,12 @@ end
```julia ```{julia}
using CSV, DataFrames, Downloads using CSV, DataFrames, Downloads
``` ```
```julia ```{julia}
# Wetterdaten von Westerland, s. https://dev.meteostat.net/bulk/hourly.html # 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) http_response = Downloads.download(url)
``` ```
```julia ```{julia}
file = CSV.File(http_response, header=false) file = CSV.File(http_response, header=false)
``` ```
```julia ```{julia}
# https://dev.meteostat.net/bulk/hourly.html#endpoints # https://dev.meteostat.net/bulk/hourly.html#endpoints
# Spalte 1 Datum # Spalte 1 Datum
@ -381,45 +381,43 @@ df = DataFrame(file)
``` ```
```julia ```{julia}
describe(df) describe(df)
``` ```
```julia ```{julia}
using StatsPlots using StatsPlots
``` ```
```julia ```{julia}
using Dates using Dates
``` ```
```julia ```{julia}
# neue Spalte mit Sp.1 und 2 (date & time) kombiniert # neue Spalte mit Sp.1 und 2 (date & time) kombiniert
df[!, :datetime] = DateTime.(df.Column1) .+ Hour.(df.Column2); df[!, :datetime] = DateTime.(df.Column1) .+ Hour.(df.Column2);
``` ```
```julia ```{julia}
describe(df) describe(df)
``` ```
```julia ```{julia}
@df df plot(:datetime, :Column3) @df df plot(:datetime, :Column3)
``` ```
```julia ```{julia}
@df df plot(:datetime, [:Column9, :Column6, :Column3], @df df plot(:datetime, [:Column9, :Column6, :Column3],
xlims = (DateTime(2022,1,1), DateTime(2022,7,1)), xlims = (DateTime(2022,1,1), DateTime(2022,7,1)),
layout=(3,1), title=["Wind" "Regen" "Temp"], legend=:none) layout=(3,1), title=["Wind" "Regen" "Temp"], legend=:none)
``` ```
```julia
```

View File

@ -387,7 +387,7 @@ Der Datensatz ["Motor Trend Car Road Tests"](https://rdrr.io/r/datasets/mtcars.h
cars = dataset("datasets", "mtcars") 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} ```{julia}
theme(:bright) theme(:bright)

View File

@ -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. Das Macro `@allocated` gibt aus, wieviel Bytes an Speicher bei der Auswertung eines Ausdrucks alloziert wurden.
```{julia} ```{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} ```{julia}
@allocated 1:20 @allocated r = 1:20
``` ```