从 0 积分到 r 中的一个变量
integrate from 0 to a variable in r
我想绘制 y 对 z,其中 y=(1+z)int_0^z((0.3(1+z')^3 +0.7)^-1/2)dz',
其中 int_0^z 仅表示从 0 到 z 的积分。
我想我应该先从0到z积分,然后用积分结果代入方程。这是我的代码:
integrand <- function(z1) {(0.3*(1+z1)^3+0.7)^-1/2}
integral<-integrate(integrand, lower = 0, upper = z)
但是出现这个错误:
Error: object 'any_number' not found
Error in integrate(integrand, lower = 0, upper = z) :
object 'z' not found"
这里如何定义z
?
谢谢,
翡翠
我试试看
integrand <- function(z1) {(0.3*(1+z1)^3+0.7)^-1/2}
我们需要让integral
成为z的函数,确保它只是returns积分的值,并且在z
中向量化:
integral <- Vectorize(function(z) integrate(integrand, lower = 0, upper = z)$value)
现在可以测试了:
integral(1:2)
#[1] 0.3056435 0.4037815
和情节:
curve(integral, 0, 10, xname = "z")
我想绘制 y 对 z,其中 y=(1+z)int_0^z((0.3(1+z')^3 +0.7)^-1/2)dz',
其中 int_0^z 仅表示从 0 到 z 的积分。 我想我应该先从0到z积分,然后用积分结果代入方程。这是我的代码:
integrand <- function(z1) {(0.3*(1+z1)^3+0.7)^-1/2}
integral<-integrate(integrand, lower = 0, upper = z)
但是出现这个错误:
Error: object 'any_number' not found
Error in integrate(integrand, lower = 0, upper = z) : object 'z' not found"
这里如何定义z
?
谢谢,
翡翠
我试试看
integrand <- function(z1) {(0.3*(1+z1)^3+0.7)^-1/2}
我们需要让integral
成为z的函数,确保它只是returns积分的值,并且在z
中向量化:
integral <- Vectorize(function(z) integrate(integrand, lower = 0, upper = z)$value)
现在可以测试了:
integral(1:2)
#[1] 0.3056435 0.4037815
和情节:
curve(integral, 0, 10, xname = "z")