我如何绘制这个';积分';R代码? f1
您可能需要计算函数f1的值,然后使用如下应用函数:我如何绘制这个';积分';R代码? f1,r,plot,integral,R,Plot,Integral,您可能需要计算函数f1的值,然后使用如下应用函数: f1 <- function(x){integrate(f = function(t){ sqrt(t^3-1) }, lower = 1, upper = x)} f1您可以将upper参数矢量化为integrate,如下所示: f1 <- function(x) { integrate( function(t) sqrt(t^3-1), lower = 1, upper = x) } u <- seq(1, 4,
f1 <- function(x){integrate(f = function(t){
sqrt(t^3-1)
}, lower = 1, upper = x)}
f1您可以将upper
参数矢量化为integrate
,如下所示:
f1 <- function(x) {
integrate( function(t) sqrt(t^3-1), lower = 1, upper = x)
}
u <- seq(1, 4, by = 0.1) # Defining a vector of values from 1 to 4 in steps of .1
f1u <- sapply(u, function(x) f1(x)$value) #computing the values of f1 over u
plot(u,f1u, type = "l", xlab = "x", ylab = "f1(x)") # your plot
或使用ggplot2
:
curve(f1(x), from = 1, to = 4)
在不进行矢量化的情况下,上限
参数需要长度为1的矢量,否则将出错:
library(ggplot2)
ggplot(data.frame(x = 0)) +
geom_function(fun = f1) +
xlim(1, 4)
矢量化后:
integrate(function(t) sqrt(t^3-1), lower = 1, upper = 1:4)
Error in integrate(function(t) sqrt(t^3 - 1), lower = 1, upper = 1:4) :
length(upper) == 1 is not TRUE
我们使用unlist
和[1,]
来获取值
谢谢Paul!你给了我很多帮助。很高兴帮助你,请考虑投票和接受答案。谢谢。
integrate(function(t) sqrt(t^3-1), lower = 1, upper = 1:4)
Error in integrate(function(t) sqrt(t^3 - 1), lower = 1, upper = 1:4) :
length(upper) == 1 is not TRUE
vintegrate(function(t) sqrt(t^3-1), lower = 1, upper = 1:4)
[,1] [,2] [,3] [,4]
value 0 1.515927 5.356315 11.84309
abs.error 0 0.0001312847 0.0003641383 0.0006563824
subdivisions 1 5 5 5
message "OK" "OK" "OK" "OK"
call Expression Expression Expression Expression