zqh1985 发表于 2012-4-26 14:08:04

未知数在指数位置的方程求解编程问题?

本帖最后由 zqh1985 于 2012-4-26 14:09 编辑

请教,方程如下:
0.228=0.94^d+0.97^d
求解整数d。
本人通过一个一个数试算,得出d=54。但是用solve求解竟然得出个复数。
syms d
f=0.94^d+0.97^d-0.228;
solve(f,d)
深感困惑,请高手指点迷津。

mhkmars 发表于 2012-4-26 16:12:47

>> solve('0.94^d+0.97^d-0.228')

ans =

54.055030668032866173042489822802另外,solve一般用来做符号解,用fsolve的话会算的快些

zqh1985 发表于 2012-4-26 16:45:41

非常感谢mhkmars!
不过能否,说说我的方法,为什么会算不出结果来吗?

mhkmars 发表于 2012-4-26 17:56:46

本帖最后由 mhkmars 于 2012-4-26 17:57 编辑

zqh1985 发表于 2012-4-26 16:45 static/image/common/back.gif
非常感谢mhkmars!
不过能否,说说我的方法,为什么会算不出结果来吗?
你那种写法也可以啊

>> syms d
f=0.94^d+0.97^d-0.228;
solve(f,d)


ans =

54.055030668032866173042489822802
页: [1]
查看完整版本: 未知数在指数位置的方程求解编程问题?