0001
0002
0003
0004
0005
0006 classdef nonlinear_inequality_constraint
0007 properties
0008 descriptor='';
0009 lower = NaN;
0010 upper = NaN;
0011 scale_type='none';
0012 scale = 1.;
0013 end
0014
0015 methods
0016 function [nic]=nonlinear_inequality_constraint(varargin)
0017
0018 switch nargin
0019
0020
0021
0022 case 0
0023
0024
0025
0026 case 1
0027 if isa(varargin{1},'nonlinear_inequality_constraint')
0028 nic=varargin{1};
0029 else
0030 error('Object ''%s'' is a ''%s'' class object, not ''%s''.',...
0031 inputname(1),class(varargin{1}),'nonlinear_inequality_constraint');
0032 end
0033
0034
0035
0036 otherwise
0037 nic.descriptor=varargin{1};
0038 nic.lower =varargin{2};
0039 nic.upper =varargin{3};
0040
0041 if (nargin >= 4)
0042 nic.scale_type=varargin{4};
0043 if (nargin >= 5)
0044 nic.scale =varargin{5};
0045
0046 if (nargin > 5)
0047 warning('objective_function:extra_arg',...
0048 'Extra arguments for object of class ''%s''.',...
0049 class(nic));
0050 end
0051 end
0052 end
0053 end
0054
0055 end
0056 function [desc] =dresp_desc(nic)
0057 desc=cell(size(nic));
0058 for i=1:numel(nic)
0059 desc(i)=cellstr(nic(i).descriptor);
0060 end
0061 end
0062 function [stype ]=dresp_stype(nic)
0063 stype=cell(size(nic));
0064 for i=1:numel(nic)
0065 stype(i)=cellstr(nic(i).scale_type);
0066 end
0067 end
0068 function [scale] =dresp_scale(nic)
0069 scale=zeros(size(nic));
0070 for i=1:numel(nic)
0071 scale(i)=nic(i).scale;
0072 end
0073 end
0074 function [weight]=dresp_weight(nic)
0075 weight=[];
0076 end
0077 function [lower] =dresp_lower(nic)
0078 lower=zeros(size(nic));
0079 for i=1:numel(nic)
0080 lower(i)=nic(i).lower;
0081 end
0082 end
0083 function [upper] =dresp_upper(nic)
0084 upper=zeros(size(nic));
0085 for i=1:numel(nic)
0086 upper(i)=nic(i).upper;
0087 end
0088 end
0089 function [target]=dresp_target(nic)
0090 target=[];
0091 end
0092 end
0093 end