-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy patheigen.pda.rd
97 lines (81 loc) · 2.76 KB
/
eigen.pda.rd
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
\name{eigen.pda}
\alias{eigen.pda}
\title{
Stability Analysis for Principle Differential Analysis
}
\description{
Performs a stability analysis of the result of \code{pda.fd}, returning
the real and imaginary parts of the eigenfunctions associated with the
linear differential operator.
}
\usage{
eigen.pda(pdaList,plotresult=TRUE,npts=501,...)
}
\arguments{
\item{pdaList}{
a list object returned by \code{pda.fd}.
}
\item{plotresult}{
should the result be plotted? Default is TRUE
}
\item{npts}{
number of points to use for plotting.
}
\item{\dots}{
other arguments for 'plot'.
}
}
\details{
Conducts an eigen decomposition of the linear differential equation implied
by the result of \code{pda.fd}. Imaginary eigenvalues indicate instantaneous
oscillatory behavior. Positive real eigenvalues indicate exponential increase,
negative real eigenvalues correspond to exponential decay. If the principle
differential analysis also included the estimation of a forcing function, the
limiting stable points are also tracked.
}
\value{
Returns a list with elements
\item{argvals}{The evaluation points of the coefficient functions.}
\item{eigvals}{The corresponding eigenvalues at each time.}
\item{limvals}{The stable points of the system at each time.}
}
\references{
Ramsay, James O., Hooker, Giles, and Graves, Spencer (2009),
\emph{Functional data analysis with R and Matlab}, Springer, New York.
Ramsay, James O., and Silverman, Bernard W. (2005),
\emph{Functional Data Analysis, 2nd ed.}, Springer, New York.
Ramsay, James O., and Silverman, Bernard W. (2002),
\emph{Applied Functional Data Analysis}, Springer, New York.
}
\seealso{
\code{\link{pda.fd}}
\code{\link{plot.pda.fd}}
\code{\link{pda.overlay}}
}
\examples{
# A pda analysis of the handwriting data
# reduce the size to reduce the compute time for the example
ni <- 281
indx <- seq(1, 1401, length=ni)
fdaarray = handwrit[indx,,]
fdatime <- seq(0, 2.3, len=ni)
# basis for coordinates
fdarange <- c(0, 2.3)
breaks = seq(0,2.3,length.out=116)
norder = 6
fdabasis = create.bspline.basis(fdarange,norder=norder,breaks=breaks)
nbasis <- fdabasis$nbasis
# parameter object for coordinates
fdaPar = fdPar(fd(matrix(0,nbasis,1),fdabasis),int2Lfd(4),1e-8)
# coordinate functions and a list tontaining them
Xfd = smooth.basis(fdatime, fdaarray[,,1], fdaPar)$fd
Yfd = smooth.basis(fdatime, fdaarray[,,2], fdaPar)$fd
xfdlist = list(Xfd, Yfd)
# basis and parameter object for weight functions
fdabasis2 = create.bspline.basis(fdarange,norder=norder,nbasis=31)
fdafd2 = fd(matrix(0,31,2),fdabasis2)
pdaPar = fdPar(fdafd2,1,1e-8)
pdaParlist = list(pdaPar, pdaPar)
bwtlist = list( list(pdaParlist,pdaParlist), list(pdaParlist,pdaParlist) )
}
\keyword{smooth}