You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中绘制指定的含Gamma函数的微积分函数

R语言定义与绘制该函数的方法

你给出的表达式是自由度为ν的标准学生t分布的概率密度函数,公式标注中的argmin_b前缀疑似笔误,该函数关于b=0对称,在b=0处取最大值,当b趋近于正负无穷时函数值趋近于0,不存在有限的最小值。
下面是具体的实现步骤:

1. 自定义函数表达式

你可以直接按照公式结构写自定义函数,R内置了gamma()计算伽马函数、pi代表圆周率常量、sqrt()计算平方根,直接调用即可:

# 入参:b为自变量,nu为t分布的自由度
custom_t_pdf <- function(b, nu) {
  numerator <- gamma((nu + 1)/2)
  denominator <- sqrt(nu * pi) * gamma(nu/2)
  core_term <- (1 + b^2 / nu) ^ (-(nu + 1)/2)
  return(numerator / denominator * core_term)
}

注:R本身有内置的t分布密度函数dt(b, df = nu),计算结果和上述自定义函数完全一致,如果你不需要修改公式结构,直接调用内置函数效率更高。

2. 绘制函数曲线

以自由度为3的t分布为例,绘制曲线的代码如下:

# 生成自变量b的取值序列,覆盖-4到4的区间
b_seq <- seq(-4, 4, by = 0.01)
# 计算对应函数值
y_values <- custom_t_pdf(b = b_seq, nu = 3)

# 绘制基础曲线
plot(
  x = b_seq,
  y = y_values,
  type = "l", # 指定绘制线图
  lwd = 2, # 线宽
  col = "#2c7fb8",
  xlab = "b",
  ylab = "密度值",
  main = "标准学生t分布概率密度曲线(ν=3)"
)
# 可叠加其他自由度的曲线做对比,比如自由度为1的柯西分布
lines(b_seq, custom_t_pdf(b_seq, nu = 1), col = "#d95f02", lwd = 2, lty = 2)
# 添加图例
legend("topright",
       legend = c("自由度ν=3", "自由度ν=1(柯西分布)"),
       col = c("#2c7fb8", "#d95f02"),
       lwd = 2,
       lty = c(1, 2))

如果直接调用内置dt()函数,绘图代码可以简化为:

plot(b_seq, dt(b_seq, df = 3), type = "l", lwd = 2, col = "darkgreen")

内容的提问来源于stack exchange,提问作者VXL963

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 17:39:00