CreateConstraint

Создайте конструктивное ограничение

Синтаксис

c = CreateConstraint(D)
c = CreateConstraint(D,prop1,val1,...)

Описание

CreateConstraint является методом mbcdoe.design.

Проекты имеют свойство Constraints, первоначально это пусто:

constraints = design.Constraints

constraints = 
0x0 array of mbcdoe.designconstraint
Используйте CreateConstraint, чтобы сформировать ограничения.

c = CreateConstraint(D) создает ограничение по умолчанию для проекта.

c = CreateConstraint(D,prop1,val1,...) создает ограничение с заданными свойствами. Смотрите Ограничительные Свойства.

По умолчанию 1D табличное ограничение создается для проектов с двумя или больше входными параметрами.

Для проекта с одним входом линейное ограничение создается по умолчанию.

Можно задать тип ограничения во время создания при помощи свойства Type, например,

c = CreateConstraint(D,'Type','Linear')
Другие доступные свойства зависят от типа проекта. См. таблицу Constraint Properties.

Этот метод не добавляет ограничение в проект. Необходимо явным образом добавить ограничение в проект с помощью свойства Constraints проекта, например,

D = AddConstraint(D,c)
или
D.Constraints(end+1) = c;
Необходимо вызвать AddConstraint, чтобы применить ограничение и удалить точки проекта вне ограничения.

Примеры

Чтобы создать ограничение Linear, добавьте его в проект и регенерируйте точки проекта:

cLinear = CreateConstraint(design,'Type','Linear');
cLinear.A = [-2.5e-4, 1];
cLinear.b = 0.25;
cLinear
design.Constraints = cLinear;
design = Generate(design);

Создать и применить ограничение 1D Table:

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

Чтобы объединить ограничения, используйте массив ограничений, которые вы хотите применить:

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

constraints = 
1x2 array of mbcdoe.designconstraint
Linear design constraint: -0.00025*N + 1*L <= 0.25
1D Table design constraint: L(N) <= Lmax

Загрузить граничные ограничения из другого файла проекта и добавить к проекту:

otherProject = mbcmodel.LoadProject( [matlabroot,'\toolbox\',...
'mbc\mbctraining\Gasoline_project.mat']);
mytestplan = otherProject.Testplans(1);
boundaryConstraints = BoundaryModel(mytestplan,'global');
Design.Constraints = boundaryConstraints;

Введенный в R2008a