求助,求解一个复杂二次方程的批量解
mathematica吧
全部回复
仅看楼主
level 4
大家好,我想求解的二次方程如下:133.06777*ln (1 + 0.00183*(p*0.5/x)) + 2.45169*ln (1 + 0.01644*(p*0.5/x)) = 24.30212*ln (1 + 0.00264*(p*0.5/(1 - x))) + 0.87583*ln (1 + 0.74745*(p*0.5/(1 - x)))
已知p的范围在0到100之间,求解x。
我想通过p从0到100取40个点对应的p和x值
我的算法如下:
Table[{n,
p /. Flatten@
Solve[133.06777*Log[1 + 0.00183*(p*0.5/x)] +
2.45169*log[1 + 0.01644*(p*0.5/x)] ==
24.30212*log[1 + 0.00264*(p*0.5/(1 - x))] +
0.87583*log[1 + 0.74745*(p*0.5/(1 - x))], x]}, {p, 0, 100, 4}]
但好像没有结果
我尝试过另一种方法:
Table[FindRoot[{133.06777*Log[1 + 0.00183*(p*0.5/x)] +
2.45169*log[1 + 0.01644*(p*0.5/x)] ==
24.30212*log[1 + 0.00264*(p*0.5/(1 - x))] +
0.87583*log[1 + 0.74745*(p*0.5/(1 - x))]}, {{p}, {x, 0}}], {p, 0,
100, 4}]
但还是没有结果
我尝试在mathematica作图看看
Plot[133.06777*Log[1 + 0.00183*(p*0.5/x)] +
2.45169*log[1 + 0.01644*(p*0.5/x)] ==
24.30212*log[1 + 0.00264*(p*0.5/(1 - x))] +
0.87583*log[1 + 0.74745*(p*0.5/(1 - x))], {p, 0, 100}]
发现还是没有结果
但是我在https://www.wolframalpha.com/上是能够计算出单一值得结果的
求各位大神指导
2020年09月04日 14点09分 1
吧务
level 10
Table[FindRoot[133.06777*Log[1 + 0.00183*(p*0.5/x)] +
2.45169*Log[1 + 0.01644*(p*0.5/x)] ==
24.30212*Log[1 + 0.00264*(p*0.5/(1 - x))] +
0.87583*Log[1 + 0.74745*(p*0.5/(1 - x))], {x,0.5}], {p, 4,
100, 4}]
2020年09月04日 18点09分 2
感谢指点,我如果想在输出数值中同时出现一一对应的x和p值,应该做怎样的修改?
2020年09月05日 02点09分
@抗日北洋水师 恕我直言,学了一个月以上了还在犯这样的错误只能说学法有问题,最好停下来检讨检讨。
2020年09月05日 03点09分
@xzcyr 昨天,对自己输入代码的技能太自信了,还脑袋里很清楚知道ln在mathematica里得输入log。。然后就是log,不是Log
2020年09月05日 08点09分
2020年09月05日 08点09分
吧务
level 15
现在百度知道不显示提问者名字了,这个难道是LZ?:https://zhidao.baidu.com/question/1890078709764333788.html
2020年09月05日 03点09分 3
原来是L与l之间的错误啊。。。。这个真不是我问的
2020年09月05日 08点09分
1