24小时热门版块排行榜    

查看: 1257  |  回复: 0
【悬赏金币】回答本帖问题,作者xjzeng将赠送您 10 个金币

xjzeng

木虫 (小有名气)

[求助] python解非线性方程的问题

废话不多说,上代码
方法1:

from sympy import *

t=symbols('t')
eq=eq(10**20*exp(-12000/t)/(0.01+10**14*exp(-12000/t))-18700*(t-300))
#eq=[10**20*exp(-12000/t)/(0.01+10**14*exp(-12000/t))-18700*(t-300)]#改成这样结果也是一样的
result=nonlinsolve(eq,t)
print(result)

程序运行,返回的是一个conditionset对象,说明不能解这个方程。

方法2:
import numpy as np
from scipy.optimize import fsolve

def f(t):
    return 10**20*np.exp(-12000/t)/(0.01+10**14*np.exp(-12000/t))-18700*(t-300)

result=fsolve(f,[300])
print(result)

运行结果报错
minpack.error: result from function call is not a proper array of floats.

方法3
import math
from scipy.optimize import fsolve

def f(t):
    return 10**20*math.exp(-12000/t)/(0.01+10**14*math.exp(-12000/t))-18700*(t-300)
result=fsolve(f,[300])
print(result)

第3种方法能解出一个根 [303.3],但是方程有3个根。如果把“result=fsolve(f,[300])”这句改成“result=fsolve(f,[320])“,可以得到第二个根 [323.7];如果“result=fsolve(f,[300])”这句改成“result=fsolve(f,[360])“,可以得到第三个根 [349.4]。

如果把“result=fsolve(f,[300])”这句改成“result=fsolve(f,[300,320.360])“,则会报错
typeerror: only size-1 arrays can be converted to python scalars

各位大佬,如何才能把三个根一次性解出来呢?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xjzeng 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 重要消息,中午系统在维护 +4 yuleib84 2026-08-18 5/250 2026-08-18 14:25 by 学员tGYWa5
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +45 医学老男孩 2026-08-13 101/5050 2026-08-18 13:40 by 医学老男孩
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 KZyU1THERRVo 2026-08-18 4/200 2026-08-18 13:28 by vHWVV9D5Deb5
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 8/400 2026-08-18 11:47 by gltch
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +4 Tide man 2026-08-14 5/250 2026-08-18 11:35 by Tide man
[基金申请] 时间戳变了,能看出什么问题? +5 基诺咪客 2026-08-17 6/300 2026-08-18 11:06 by hunter无悔
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
信息提示
请填处理意见