用fmincon优化目标函数的非线性参数

时间:2015-08-24 02:48:27

标签: matlab optimization

假设我有一个目标函数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

我想优化CsAs(同时保持ns常量),但我也想使用约束sum(Cs) = 1.0。如何使用fmincon

实现这些目标

the documentation,我看不到如何将参数添加到我不希望优化的目标函数(ns)中,并且不能立即明确如何约束sum(Cs) = 1.0

0 个答案:

没有答案