在EXCEl中使用VBA计算方程的解,怎么求?问题如下:

在EXCEl中使用VBA计算方程的解, a=atan(b)+atan(b+1),已知是a,求b。现在在单元格A1至A5中分别输入5个a值,运行VBA程序,能够在B1至B5中得到对应的b值。
跪谢!
实际问题是这样的:

k和C1都是已知的,现在是知道θ想求Ma。我是把公式简化了。

公式不重要,重要的是实现方法。
还有就是不止一个θ,一列θ呢,如果使用自带功能,那就要操作很多遍,采用VBA的话在里面更改循环数就可以吧多行都可以计算了。

求大神速解!

    你在A1输入公式=ATAN(B1)+ATAN(B1+1)

    “数据菜单“->“模拟分析”->“单变量求解”。

    在跳出的对话框中的 “目标单元格”输入“A1” ,“目标值”输入原来填在A1单元格中的数据,“可变单元格”输入B1。单击确定。

    剩余4行都采用相同操作即可。



    有时候往往多朝了VBA方向想,却忽略了EXCEL自身的功能。不到万不得已不推荐用VBA。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-22
你的公式 描述有问题啊……看不懂是什么东西……

再重新 描述一下吧……

应该用公式 就可以做了吧 为什么要用VBA哪?
靠!看完补充 我就更晕菜了……公式不重要?重要的是实现方法!“还有很多变量没列出来哪”!……

那么现在这能告诉你 你可以用VBA来编写一个计算过程 按着 你已知的公式 和变量情况 定义变量 然后 让这些变量 采用相应的 单元格的值 然后再 按着 你的公式 进行计算,并把结果返回到需要的地方……
你这里 就是如果是两个变量的话 变量A就是A列的 B就是这个过程返回的结果……

这个过程最好被定义为 函数过程 这样 就更方便 你的使用了……我现在智能这么说了……
因为 你似乎是 补充的公式 也不是最后的公式!!!!!!!!!还是一说法而已 所以不能做具体的代码 或者其他公式推荐……

好运吧!
第2个回答  2018-04-19
不需要用vba
两种方式,一种是自己推导出反函数,变成b=f(a),
第二种是单一变量求解,在数据-模拟分析下可以找到。
第3个回答  推荐于2018-04-19
对Ma从1开始,每隔0.01计算等式右边的值,与θ比较等于或者最接近的,通过插值计算可以得到最接近的解本回答被网友采纳
第4个回答  2018-04-19
用单变量求解,录制宏,然后修改代码并加上循环即可