如何求解含两个移动变量的直线交点对(bill, er_bill)
解决方案
你给出的第二个公式已经明确定义了er_bill和bill的线性对应关系,所有满足两方案总支出相等的数值对都落在这条直线上,你可以按以下方式获取所需结果:
- 如果你需要获取一定范围内的所有数值对,可以直接生成动态bill序列,向量化计算对应er_bill即可,R语言示例代码如下:
# 替换为你的实际固定参数值 prem1 <- dc1 <- coins1 <- prem2 <- dc2 <- coins2 <- er_coins1 <- er_coins2 <- # 按精度需求生成bill的动态序列,此处示例范围0~10万、步长1,可自行调整 bill_seq <- seq(from = 0, to = 100000, by = 1) # 批量计算对应er_bill值 er_bill_seq <- ((bill_seq - dc1) * coins1 + prem1 + dc1 - (bill_seq - dc2) * coins2 - prem2 - dc2) / (er_coins2 - er_coins1) # 合并为(bill, er_bill)数值对结果 result_pairs <- cbind(bill = bill_seq, er_bill = er_bill_seq)
- 如果你需要的是唯一交点值,也就是同时满足普通医疗支出相等、急诊支出相等的唯一数值对,直接联立两个单变量方程求解即可:
- 用你最初的公式计算得到固定bill值:
bill <- (prem1 + dc1 - prem2 - dc2 - coins1 * dc1 + coins2 * dc2) / (coins2 - coins1) - 代入急诊线的对应参数,用同样逻辑计算得到固定er_bill值即可。
- 用你最初的公式计算得到固定bill值:
如果业务场景中bill或er_bill存在取值边界(比如不能小于0、不能超过最高赔付限额),对生成的结果做过滤剔除不符合规则的数值对即可。
内容的提问来源于stack exchange,提问作者moomin_valley
相关产品推荐
相关产品推荐

