Toggle navigation
Home
Members
Academic Staff
Pascal Hébraud
Wilfried Grange
Marie-Noëlle Lalloz-Vogel
Ph.D. Students
Jules Hirsch
Patryk Strzelecki
Students
Network / Alumni
Publications
Location
BIO
physics &
SOFT
Matter
Department of Ultrafast Optics and Nanophotonics
Institut de Physique et Chimie des Matériaux de Strasbourg
[ --
Internship Proposals
-- ]
FR/EN
OpenCPU
|
Chart.js
|
Michaelis Menten
function(x, y) { nearest <- which.min(abs(y - 0.5 * max(y))) # index of Vmax/2 nlmodel <- nls(y ~ A * x / (B + x), start = list(A = max(y), B = x[nearest])) # Get summary and coefficients fit_res <- summary(nlmodel)$coefficients A_est <- fit_res[1, 1] # Estimate of A B_est <- fit_res[2, 1] # Estimate of B # Standard errors A_se <- fit_res[1, 2] # Standard error of A B_se <- fit_res[2, 2] # Standard error of B # Calculate degrees of freedom n <- length(y) # number of observations p <- length(coef(nlmodel)) # number of parameters (A and B) df <- n - p # degrees of freedom # Calculate critical t-value for 68% CI t_val <- qt(0.84, df) # For 68% CI, use 0.84 (1 - 0.32/2) # Calculate margin of errors A_margin_of_error <- t_val * A_se B_margin_of_error <- t_val * B_se # Extra values for a smooth display (not needed when # points is large) S_xtra <- c(seq(0, max(x) * 1.2, length.out = 49)) # create a dummy S (x) vector (49 values here) vfit_xtra <- A_est * S_xtra / (B_est + S_xtra) # calculate new v (y) values according to those 49 new values # Calculate RMSE error_squared <- (predict(nlmodel) - y) ^ 2 RMSE <- sqrt(mean(error_squared)) # Return the results return(c(A_est, B_est, A_margin_of_error, B_margin_of_error, RMSE, S_xtra, vfit_xtra)) }
#
Estimate
Margin of error (68% CI)
Vmax
Km
RMSE (using scaled values):
Error log
[Substrate]
vi
X Axis Text
Y Axis Text
Title Text
Code (R)
v2024_11_2
Info
🙅 🙅
R-squared [1]
|
R-squared [2]
|
RMSE