supposons que nous ayons un pde qui décrit l'évolution d'une variable y (t, x) au cours du temps t et de l'espace x, et je voudrais tracer son évolution sur un diagramme tridimensionnel (t, x, y). Avec deSolve je peux résoudre le pde, mais je n'ai aucune idée sur la façon d'obtenir ce type de diagramme.r deSolve - évolution du temps de tracé pde
L'exemple dans l'instruction de paquet deSolve est le suivant, où y est pucerons, t = 0, ..., 200 et x = 1, ..., 60:
library(deSolve)
Aphid <- function(t, APHIDS, parameters) {
deltax <- c (0.5, rep(1, numboxes - 1), 0.5)
Flux <- -D * diff(c(0, APHIDS, 0))/deltax
dAPHIDS <- -diff(Flux)/delx + APHIDS * r
list(dAPHIDS)
}
D <- 0.3 # m2/day diffusion rate
r <- 0.01 # /day net growth rate
delx <- 1 # m thickness of boxes
numboxes <- 60
Distance <- seq(from = 0.5, by = delx, length.out = numboxes)
APHIDS <- rep(0, times = numboxes)
APHIDS[30:31] <- 1
state <- c(APHIDS = APHIDS) # initialise state variables
times <-seq(0, 200, by = 1)
out <- ode.1D(state, times, Aphid, parms = 0, nspec = 1, names = "Aphid")
"out" produit une matrice contenant toutes les données dont nous avons besoin, t, y (x1), y (x2), ... y (x60). Comment puis-je produire un graphique de surface pour montrer l'évolution et la variabilité de y dans (t, x)?