В этом примере показано, как создать оптимальную конструкцию для полиномиальной модели с помощью интерфейса командной строки Калибровка на основе модели (Model-Based Calibration Toolbox™).
Для создания оптимальной конструкции необходима модель.
inputs = mbcmodel.modelinput(... 'Symbol', {'N','L','A'},... 'Name', {'n','load','afr'},... 'Range', {[1000 5000],[0.2 0.65],[10.9 14.65]}); model = mbcmodel.CreateModel( 'Polynomial', inputs ); model.Properties.Order = [2 2 2];
Создайте конструкцию для модели полинома.
optimalDesign = CreateDesign( model,... 'Type', 'V-optimal',... 'Name', 'Optimal Design' );
Создайте набор параметров для использования.
CandidateSet = optimalDesign.CreateCandidateSet( 'Type', 'Grid' ); CandidateSet.NumberOfLevels = [21 21 21]; % Pass in Generator properties to Generate optimalDesign = Generate( optimalDesign,... 'NumberOfPoints', 30,... 'CandidateSet', CandidateSet,... 'MaxIterations', 200,... 'NoImprovement', 50 );
Вместо передачи настроек генератора Generateможно изменить генератор конструкции. Два метода эквивалентны, поскольку назначение генератора обратно конструкции вызывает вызов Generate.
anotherOptimalDesign = CreateDesign( model, 'Type', 'V-optimal', ... 'Name', 'Another Optimal Design' ); optimalGenerator = anotherOptimalDesign.Generator; optimalGenerator.NumberOfPoints = 30; optimalGenerator.CandidateSet.Type = 'Grid'; optimalGenerator.CandidateSet.NumberOfLevels = [21 21 21]; optimalGenerator.MaxIterations = 200; optimalGenerator.NoImprovement = 50;
Установка причин генератора Generate для вызова.
anotherOptimalDesign.Generator = optimalGenerator;
criteria = OptimalCriteria( optimalDesign ); fprintf( ['Optimality Criteria for "%s":\n',... 'V = %.3f\nD = %.3f\nA = %.3f\nG = %.3f\n'],... optimalDesign.Name, criteria );
Optimality Criteria for "Optimal Design": V = 0.181 D = 2.492 A = 1.050 G = 0.552
Постройте график каждого ввода по отношению к другим.
subplot(2,2,1); Scatter2D( optimalDesign, 1, 2 ); subplot(2,2,3); Scatter2D( optimalDesign, 1, 3 ); subplot(2,2,4); Scatter2D( optimalDesign, 2, 3 );
