Используя ограничения

Этот пример показывает, как создать и применить ограничения к проекту с помощью интерфейса командной строки Model-Based Calibration Toolbox™.

Создайте проект

Создайте Полный План факторного эксперимента, потому что это покажет ограничительные контуры максимально ясно. Создайте проект из входных параметров. Для простоты используются только 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
design.Constraints = cLinear;
design = Generate(design);
cLinear = 

Linear design constraint: -0.00025*N + 1*L <= 0.25

Покажите ограничение

Постройте точки, чтобы показать линейное ограничение.

Scatter2D(design, 1, 2);
title( 'Linear Constraint' );

Создайте 1D табличное ограничение

cTable1d = CreateConstraint( design, 'Type', '1D Table' );
cTable1d.Table = [0.9 0.5];
cTable1d.Breakpoints = [500 6000];
cTable1d
design.Constraints = cTable1d;
design = Generate(design);
cTable1d = 

1D Table design constraint: L(N) <= Lmax

Покажите ограничение

Постройте точки, чтобы показать 1D Табличное ограничение.

Scatter2D( design, 1, 2 );
title( '1D Table Constraint ' );

Объединение ограничений

Ограничения являются массивом ограничений, чтобы применяться.

design.Constraints = [cLinear, cTable1d];
constraints = design.Constraints
design = Generate(design);
constraints = 

Linear design constraint: -0.00025*N + 1*L <= 0.25
1D Table design constraint: L(N) <= Lmax

Покажите ограничение

Постройте точки, чтобы показать оба ограничения.

Scatter2D( design, 1, 2 );
title( 'Linear and 1D Table Constraint ' );