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

如何用R求解导数为常数的方程?最优产量计算技术求助

R中通用求解最优产量(MR=MC)的方法

要实现无需手动提取系数的通用求解,核心是把求导后的边际收益表达式转为可计算函数,再通过根求解工具找到MR=MC时的产量值,具体步骤和代码如下:

  1. 用expression()定义总收益表达式
  2. 用D()对表达式求导得到边际收益MR
  3. 将MR转为可调用的函数,方便代入产量计算
  4. 构建目标函数(MR(Q) - MC),求解该函数的根(即MR=MC的解)
  5. 使用uniroot()求解根,该函数支持单变量函数的通用根查找

示例代码

# 定义总收益表达式
TR <- expression(Quantity * (40 - 3*Quantity))
# 对Quantity求导得到边际收益MR
MR <- D(TR, "Quantity")
# 设定边际成本MC(示例值为10,可自行修改)
MC <- 10

# 将MR表达式转换为以Quantity为参数的函数
MR_fun <- as.function(MR)
# 构建目标函数:MR(Q) - MC = 0
target_fun <- function(Q) MR_fun(Q) - MC

# 用uniroot求解,需指定产量的合理区间(根据经济意义Q>0,且需求为正)
optimal_result <- uniroot(target_fun, interval = c(0, 20))
# 提取最优产量值,保留两位小数
optimal_quantity <- round(optimal_result$root, 2)

# 输出结果
cat("最优产量:", optimal_quantity, "\n")

关键说明

  • as.function()能自动把expression类型的MR转为可计算函数,无需手动拆解表达式提取系数
  • uniroot()需要指定一个包含解的区间,可根据收益函数的经济意义设定(比如需求为正的产量范围)
  • 该方法适用于线性、非线性等各类收益函数,完全通用,不用针对不同表达式修改求解逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:50:26