24小时热门版块排行榜    

查看: 5376  |  回复: 2

ghostsyd

铜虫 (小有名气)

[求助] Matlab中关于nlinfit函数参数设定的讨论 已有1人参与

大家好,有个问题想请教各位大神。

在用nlinfit函数做拟合的时候如何限制参数的范围呢?

比如y = ax+b +cx2+d/x. 我想强制a>0, 或者a和b必须同号(均为正数活均为负数)。有没有办法呢?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

物理妹子伤不起。。。。。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
ghostsyd: 金币+3, ★★★很有帮助 2015-08-21 00:16:54
用 lsqnonlin(@ObjFunc,k0,lb,ub);  
lb 和 ub可以定义参数的取值范围,比如两个参数a和b
lb=[0 0];
ub=[+inf +inf];
这样a b均大于0,同为正
类似地,
lb=[0 0];
ub=[-inf -inf];
这样a b均小于0,同为负
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2015-05-25 15:05:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ghostsyd

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2015-05-25 15:05:06
用 lsqnonlin(@ObjFunc,k0,lb,ub);  
lb 和 ub可以定义参数的取值范围,比如两个参数a和b
lb=;
ub=;
这样a b均大于0,同为正
类似地,
lb=;
ub=;
这样a b均小于0,同为负

谢谢您!
物理妹子伤不起。。。。。
3楼2015-08-21 00:19:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ghostsyd 的主题更新
信息提示
请填处理意见