关于matlab最优化中fmincon函数的使用问题

2025-02-22 11:12:07
推荐回答(2个)
回答1:

主要是你的fconfun函数中的ln变量没办法赋值进去

你那样写肯定是不对的,fmincon函数求它的最优解时,只是吧x作为变量,当然这也是你希望的

个然建议ln = [1+a(3),a(2),a(1);a(1),1+a(3),a(2);a(2),a(1),1+a(3)]求出来后,再把ln的确切的值带进fconfun函数中,让fconfun函数只有一个变量x,然后你的程序应该就不会有错了~!

回答2:

fmincon函数是默认从你给定的x0为中心开始搜索,直至找到函数的最小值,并返回距离x0最近的函数最小值对应的x值
这样我们在计算的时候就必须预先判定函数最小值的对应的x值的大概范围
确保我们定的初值x0在所求的x附近,以减少计算量
在利用调用f(x)就可以求得最小值了
如果你给的是周期函数
那你给不同的值一般应该会得到不同x值
但应该f(x)值是一致的