Die Abbildung zeigt die Konzentration (in \(\frac{\text{mg}}{\text{l}}\)) eines Schmerzmittels im Blut eines Menschen. \(t\) (in Stunden) ist die Zeit nach der Einnahme des Medikaments.
Fragen: a) Wann ist die Konzentration am höchsten? b) Wann fällt die Konzentration am stärksten ab? c) Wann sinkt die Konzentration unter \(20\,\text{mg/l}\)?
Zuerst erfassen wir die Datenpunkte aus dem Diagramm und erstellen eine Visualisierung.
# Datenpunkte aus dem Diagramm ablesen (approximative Werte)
zeit <- c(0, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 25, 30)
konzentration <- c(0, 20, 45, 60, 68, 70, 65, 55, 45, 38, 30, 22, 15, 10)
# Datenframe erstellen
daten <- data.frame(zeit, konzentration)
# Diagramm erstellen
# Hinweis: Für mathematische Symbole in Plots nutzen wir expression() statt LaTeX $$
plot(daten$zeit, daten$konzentration,
type = "b",
pch = 19,
col = "blue",
xlab = "Zeit t (in Stunden)",
ylab = expression(paste("Konzentration (in ", frac(mg, l), ")")),
main = "Medikamentenkonzentration im Blut",
xlim = c(0, 32),
ylim = c(0, 80),
las = 1)
# Gitterlinien hinzufügen
grid(col = "lightgray")
# Nichtlineare Regression durchführen
modell <- nls(konzentration ~ a * zeit * exp(-b * zeit),
data = daten,
start = list(a = 20, b = 0.2))
# Parameter extrahieren
parameter <- coef(modell)
a <- parameter[1]
b <- parameter[2]
# Angepasste Funktion definieren
f <- function(t) {
a * t * exp(-b * t)
}
# Funktion zum Diagramm hinzufügen
curve(f(x), from = 0, to = 32, add = TRUE, col = "red", lwd = 2)
# Legende hinzufügen
legend("topright",
legend = c("Messpunkte", "Angepasste Funktion"),
col = c("blue", "red"),
pch = c(19, NA),
lty = c(1, 1),
lwd = c(1, 2))
# Maximum berechnen
t_max <- 1 / b
konzentration_max <- f(t_max)
cat("Ergebnis a):\n")
## Ergebnis a):
cat(sprintf("Die Konzentration ist nach %.2f Stunden am höchsten.\n", t_max))
## Die Konzentration ist nach 5.33 Stunden am höchsten.
cat(sprintf("Maximale Konzentration: %.2f mg/l\n", konzentration_max))
## Maximale Konzentration: 65.36 mg/l
# Im Diagramm markieren
points(t_max, konzentration_max, col = "green", pch = 19, cex = 1.5)
text(t_max, konzentration_max + 5,
labels = sprintf("Maximum\n(%.1f h, %.1f mg/l)", t_max, konzentration_max),
pos = 3, col = "darkgreen")
# Wendepunkt berechnen
t_wende <- 2 / b
abfallrate <- f(t_wende)
cat("\nErgebnis b):\n")
##
## Ergebnis b):
cat(sprintf("Die Konzentration fällt nach %.2f Stunden am stärksten ab.\n", t_wende))
## Die Konzentration fällt nach 10.65 Stunden am stärksten ab.
cat(sprintf("Konzentration zu diesem Zeitpunkt: %.2f mg/l\n", abfallrate))
## Konzentration zu diesem Zeitpunkt: 48.09 mg/l
# Steigung an diesem Punkt berechnen (Abfallrate)
steigung <- f(t_wende) # Wert der Funktion, nicht die Steigung selbst hier zur Anzeige
# Die tatsächliche Änderungsrate ist f'(t_wende)
aenderungsrate <- a * exp(-b * t_wende) * (1 - b * t_wende)
cat(sprintf("Momentane Änderungsrate: %.2f mg/l pro Stunde\n", aenderungsrate))
## Momentane Änderungsrate: -4.51 mg/l pro Stunde
# Im Diagramm markieren
points(t_wende, abfallrate, col = "orange", pch = 19, cex = 1.5)
text(t_wende, abfallrate - 8,
labels = sprintf("Stärkster Abfall\n%.1f h", t_wende),
pos = 1, col = "darkorange")