Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
有没有一种方法可以在MATLAB中使用fsolve,为解决方案指定界限?即所有解变量> 0
回答: 解决这个问题的方法并不直接,而是在方程式中添加一个约束您问题的项。 我没有优化工具箱,因此无法使用fsolve给出具体示例,但是这是我使用fminsearch的方法,它也存在相同的问题。 myFun = @(args) abs( sin(args(1)) + cos(args(2)) ) fminsearch(myFun, [0, 0]) ans = -0.8520 0.7188 但是如果我想将我的问题限制为积极的解决方案 myFun = @(args) abs(sin(args(1)) + cos(args(2))) + (args(1) |
![]() |
![]() |