假设f
和g
是在[0,1]
区间定义的两个有界函数。
如何计算f
和g
之间的L_2 distance?
答案 0 :(得分:4)
扩展我的评论:
f <- function(x) x^2
g <- function(x) sqrt(cos(x))
z <- function(x) 0
l2_norm <- function(fun) {
f_sq <- function(x) fun(x)^2
sqrt(integrate(f = f_sq, lower = 0, upper = 1)$value)
}
l2_dist <- function(f, g) {
f_diff <- function(x) (f(x) - g(x))^2
sqrt(integrate(f = f_diff, lower = 0, upper = 1)$value)
}
l2_norm(f) # = sqrt(1/5)
l2_norm(g) # = sqrt(sin(1))
l2_dist(f, z) # = l2_norm(f)
l2_dist(f, g)
可以使用类似的方法来定义,例如L2中的内在产品。