楼主: 阿蛋在呢
985 1

python非线性最小二乘拟合设置不等式约束 [推广有奖]

  • 1关注
  • 1粉丝

高中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
21 个
通用积分
50.3263
学术水平
1 点
热心指数
2 点
信用等级
0 点
经验
485 点
帖子
28
精华
0
在线时间
42 小时
注册时间
2022-3-20
最后登录
2023-12-30

楼主
阿蛋在呢 学生认证  发表于 2023-1-5 12:22:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问如何在python中的非线性最小二乘拟合算法中设置不等式约束,scipy.optimize中有curve_fit算法可以进行拟合,scipy.optimize也有minimize算法可以设置不等式约束,那么请问,如何把两种算法的功能结合起来。我想要对CD函数进行拟合,同时对其中的参数函数进行范围设置,这个设置包括不等式约束设置。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:非线性最小二乘 python 最小二乘 不等式 非线性

沙发
olympic 发表于 2023-1-7 13:14:35
minimize是scipy中optimize模块的一个函数,调用
import scipy.optimize as opt
res=opt.minimize()

主要参数
res=opt.minimize(fun, x0, args=(), method=None, jac=None, hess=None,
             hessp=None, bounds=None, constraints=(), tol=None,
             callback=None, options=None)
#fun:该参数就是costFunction你要去最小化的损失函数,将costFunction的名字传给fun
#x0: 猜测的初始值
#args=():优化的附加参数,默认从第二个开始                 
#method:该参数代表采用的方式,默认是BFGS, L-BFGS-B, SLSQP中的一种,可选TNC
#options:用来控制最大的迭代次数,以字典的形式来进行设置,例如:options={‘maxiter’:400}
#constraints: 约束条件,针对fun中为参数的部分进行约束限制,多个约束如下:
          '''cons = ({'type': 'ineq', 'fun': lambda x: x[0] - x1min},\
             {'type': 'ineq', 'fun': lambda x: -x[0] + x1max},\
             {'type': 'ineq', 'fun': lambda x: x[1] - x2min},\
             {'type': 'ineq', 'fun': lambda x: -x[1] + x2max})'''
#tol: 目标函数误差范围,控制迭代结束  
#callback: 保留优化过程

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 18:01