В этом примере показано, как создать и применить ограничения к проекту с помощью интерфейса командной строки Model-Based Calibration Toolbox™.
Создайте проект Full Factorial, поскольку это позволит максимально четко отобразить границы ограничений. Создайте проект из входов. Для простоты используются только 2 входа (скорость и нагрузка).
inputs = mbcmodel.modelinput(... 'Symbol', {'N','L'},... 'Name', {'SPEED','LOAD'},... 'Range', {[500 6000],[0.0679 0.9502]}); design = CreateDesign( inputs, 'Type', 'Full Factorial' ); design = Generate( design, 'NumberOfLevels', [50 50] ); % design has a Constraints property, initially this is empty. constraints = design.Constraints
constraints =
cLinear = CreateConstraint( design, 'Type', 'Linear' ); cLinear.A = [-2.5e-4, 1]; cLinear.b = 0.25; cLinear
cLinear = Linear design constraint: -0.00025*N + 1*L <= 0.25
design.Constraints = cLinear; design = Generate(design);
Постройте график точек, чтобы показать линейное ограничение.
Scatter2D(design, 1, 2);
title( 'Linear Constraint' );
cTable1d = CreateConstraint( design, 'Type', '1D Table' ); cTable1d.Table = [0.9 0.5]; cTable1d.Breakpoints = [500 6000]; cTable1d
cTable1d = 1D Table design constraint: L(N) <= Lmax
design.Constraints = cTable1d; design = Generate(design);
Постройте график точек, чтобы показать ограничение 1D таблица.
Scatter2D( design, 1, 2 );
title( '1D Table Constraint ' );
Ограничения являются массивом применяемых ограничений.
design.Constraints = [cLinear, cTable1d]; constraints = design.Constraints
constraints=1×2 object
Linear design constraint: -0.00025*N + 1*L <= 0.25
1D Table design constraint: L(N) <= Lmax
design = Generate(design);
Постройте график точек, чтобы показать оба ограничения.
Scatter2D( design, 1, 2 );
title( 'Linear and 1D Table Constraint ' );