plotfield: plotfield funci<c3><b3>n

Description Usage Arguments Details Value Author(s) Examples

View source: R/ODE.R

Description

Funci<c3><b3>n que granfica el campo de pendientes, as<c3><ad> como la soluci<c3><b3>n del sistema de ecuaciones diferenciales.

Usage

1
plotfield(values, lims, d, vars)

Arguments

values

Valores que conforman la soluci<c3><b3>n del sistema.

lims

Vector con los l<c3><ad>mites desados de la soluci<c3><b3>n. Ejemlo -> [x_liminf,x_limsup,y_liminf,y_limsup]

d

Representa al vector de las ecuaciones diferenciales que componen el sistema a solucionar. Ejemplo -> ["Eqn1","Eqn2","Eqn3", ...]

vars

Representa al vector con los nombre de la variables incluyendo la variable independiente (t) al final del vector. Ejemplo -> ["x1","x2","x3", ...,"t"]

Details

Esta funci<c3><b3>n <c3><ba>nicamente se llevar<c3><a1> a cabo solo si el sistema de ecuaciones diferenciales es de segundo orden.

Value

La funci<c3><b3>n tiene como salida la grafica de la soluci<c3><b3>n del sistema junto con el campo de pendientes. Similar a la herramienta enviada por la profesora.

Author(s)

Pablo Millan y Oscar Fonseca

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Ejemplos:
#plotfield(c(-4,4,-3,3),c("x*y","x*y-1"),c("x","y","t"))
#plotfield(c(-4,4,-3,3),c("x*y","x*y-1"),c("x","y","t"))
#plotfield(c(-4,4,-3,3),c("x*y","x*y-1"),c("x","y","t"))
##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.

## The function is currently defined as

plotfield <- function(values, lims, d, vars){
  if (length(d)==2){

    Field <- function(t, y_in, parameters){
      dy = numeric(length(y_in))

      for (i in 1:length(dy)){
        for (j in 1:length(dy)){
          assign(vars[j],y_in[j])
        }
        dy[i]=eval(parse(text=parameters[i]))
      }
      return(list(dy))
    }
    Field.flowField <- flowField(Field, xlim=c(lims[1],lims[2]),
                                 ylim = c(lims[3],lims[4]), parameters = d,
                                 points = 20,
                                 add = FALSE, xlab = vars[1], ylab = vars[2] ,
                                 main = "Solution")

    grid()
    lines(values[1,],values[2,], col='red', type = 'l',xlim=c(lims[1],lims[2]),ylim=c(lims[3],lims[4]))
  }
}


{ ~kwd1 }
{ ~kwd2 }

Paquete2018-3/MetodosNumericos documentation built on May 4, 2019, 7:36 a.m.