如何用R或Excel求解指定方程中的未知量x?
用R和Excel求解指定方程(不修改原公式)
可以直接用R或Excel实现,不需要修改原方程结构,具体方法如下:
R实现
使用R内置的根求解函数uniroot,构造目标函数时保留原方程的完整结构,仅通过「左边减右边」将等式转化为求根问题:
# 定义目标函数:原方程左边 - 右边 = 0 f <- function(x) { 2/(1+exp(-4.292*x)) - 1 - 0.95 } # 指定搜索区间(根据Sigmoid函数特性,解在正数区间,这里设0到2) result <- uniroot(f, interval = c(0, 2)) # 输出解 cat("x的解为:", round(result$root, 4), "\n")
运行后会得到x的近似值(约0.853)。
Excel实现
用Excel的单变量求解功能,全程保留原公式结构:
- 选中空白单元格(如A1),输入x的初始值(比如0);
- 选中另一单元格(如B1),输入原方程公式:
=2/(1+EXP(-4.292*A1))-1; - 点击「数据」选项卡 → 「模拟分析」 → 「单变量求解」;
- 在对话框中设置:
- 目标单元格:选择B1
- 目标值:输入0.95
- 可变单元格:选择A1
- 点击「确定」,Excel会自动计算出满足条件的x值并显示在A1中。
内容的提问来源于stack exchange,提问作者Chouette
相关产品推荐
相关产品推荐

