我如何绘制这个';积分';R代码? 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的值,然后使用如下应用函数:

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