假设我有一个目标函数f( Cs, As, ns, Xdat )
,其中Cs
是线性参数,As
是非线性参数,ns
是整数(非线性)参数,以及Xdat
是输入数据。像
function [ cval ] = f(Cs, As, ns, Xdat)
n = length(Cs);
cval = 0.0;
for i = 1:n
C = Cs(i);
A = As(i);
n = ns(i);
for j = 1:length(Xdat)
x = Xdat(j);
cval = cval + C*(x^n)*exp(-A*x);
end
end
end
我想优化Cs
和As
(同时保持ns
常量),但我也想使用约束sum(Cs) = 1.0
。如何使用fmincon
?
从the documentation,我看不到如何将参数添加到我不希望优化的目标函数(ns
)中,并且不能立即明确如何约束sum(Cs) = 1.0
。