| fnorm {pracma} | R Documentation |
Function Norm
Description
The fnorm function calculates several different types of function
norms for depending on the argument p.
Usage
fnorm(f, g, x1, x2, p = 2, npoints = 100)
Arguments
f, g |
functions given by name or string. |
x1, x2 |
endpoints of the interval. |
p |
Numeric scalar or Inf, -Inf; default is 2. |
npoints |
number of points to be considered in the interval. |
Details
fnorm returns a scalar that gives some measure of the distance
of two functions f and g on the interval [x1, x2].
It takes npoints equidistant points in the interval, computes the
function values for f and g and applies Norm to
their difference.
Especially p=Inf returns the maximum norm,
while fnorm(f, g, x1, x2, p = 1, npoints) / npoints
would return some estimate of the mean distance.
Value
Numeric scalar (or Inf), or NA if one of these functions
returns NA.
Note
Another kind of ‘mean’ distance could be calculated by integrating the
difference f-g and dividing through the length of the interval.
See Also
Examples
xp <- seq(-1, 1, length.out = 6)
yp <- runge(xp)
p5 <- polyfit(xp, yp, 5)
f5 <- function(x) polyval(p5, x)
fnorm(runge, f5, -1, 1, p = Inf) #=> 0.4303246
fnorm(runge, f5, -1, 1, p = Inf, npoints = 1000) #=> 0.4326690
# Compute mean distance using fnorm:
fnorm(runge, f5, -1, 1, p = 1, 1000) / 1000 #=> 0.1094193
# Compute mean distance by integration:
fn <- function(x) abs(runge(x) - f5(x))
integrate(fn, -1, 1)$value / 2 #=> 0.1095285