max.m

来自「国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题」· M 代码 · 共 37 行

M
37
字号
function y=max(varargin)
%MAX (overloaded)
%
% t = max(x,y,z...) % Scalar SDPVAR arguments 
% t = max(X)        % Matrix SDPVAR arguments, see built-in min for details  
%
% Creates an internal structure relating the variable t
% with convex operator max(x,y,z,..).
%
% The variable t can only be used in convexity preserving
% operations such as t<0, min t etc.

% Author Johan L鰂berg 
% $Id: max.m,v 1.7 2005/04/28 23:35:12 joloef Exp $

if nargin==1
    X = varargin{1};
    if min(size(X))==1
        if max(size(X))==1
            y = varargin{1};
        else            
            inparg{1} = X;
            y = yalmip('addextendedvariable','max',inparg{:});
        end
    else
        y = [];
        for i = 1:size(X,2)
            clear inparg;
            for j = 1:size(X,1)
                inparg{j} = subsref(X,struct('type','()','subs',{{j,i}}));
            end
            y = [y yalmip('addextendedvariable','max',inparg{:})];            
        end
    end   
else   
    y = yalmip('addextendedvariable','max',varargin{:});
end

⌨️ 快捷键说明

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