derivebilinearizing.m

来自「求解线性矩阵不等式简单方便--与LMI工具箱相比」· M 代码 · 共 32 行

M
32
字号
function [BilinearizeringConstraints,failure] = deriveBilinearizing(Fi,w,order)

if nargin < 3
    order = 1;
end

BilinearizeringConstraints = set([]);
failure = 0;
Fi = sdpvar(Fi);
if is(Fi,'hermitian')
    Fi = Fi(find(triu(ones(length(Fi)))));
end
Fi = Fi(:);

for i = 1:length(Fi)
    pij = Fi(i);
    [c,v] = coefficients(pij,w);
    c = clean(c,1e-12);
    for k = 1:length(c)
        if degree(v(k)) > order
            if isa(c(k),'double')
                if abs(c(k))>0
                    failure = 1;
                    return
                end
            else
                BilinearizeringConstraints = BilinearizeringConstraints + set(c(k) == 0);
            end
        end
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?