В этом примере показано, как создать оптимальный проект для полиномиальной модели с помощью интерфейса командной строки 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, чтобы использовать.
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 );