我试图找到一种在Matlab中使用参数最大化函数的方法。
该功能类似于以下内容:f = - t2*x(0)*(a(0) - 1) - t2*x(0)*(t1*a(0) + 1)*(a(1) - 1)
。我需要找到最大a(0)
的{{1}}和a(1)
。 f
和t1
是非负的未知参数,也是t2
。 x(0) > 0
和a(0)
可能取决于a(1)
,t1
。
所以一般来说我想用Matlab做以下事情:
找到一些t2
所在的参数:存在一些约束,maximize(f)
的某些参数保持未知。
我已尝试f
,但在这种情况下,需要指定所有参数,包括fminsearch
和t1
。
我想知道Matlab中是否存在这样的函数,还是可以用其他方式完成?
答案 0 :(得分:0)
您可以尝试CVX。它是一个基于MATLAB的开源建模软件包,用于凸优化。这很慢,但它可以帮助你作为第一种方法
cvx_begin
variable a0
variable a1
minimize( - t2*x0*(a0 - 1) - t2*x0*(t1*a0 + 1)*(a1 - 1) )
subject to
t1 > 0
t2 > 0
x0 > 0
cvx_end