<< ComputingExperiment computing_experiment ModelingSystemDynamicTimeGrid >>

computing_experiment >> computing_experiment > ModelingSystemDynamicEvidence

ModelingSystemDynamicEvidence

Реализует вычислительный эксперимент пользовательской системы, заданной в виде xcos-диаграммы, с вычислением параметров выходных динамик системы

Синтаксис

[SystemOutputChatacteristics..
]=ModelingSystemDynamicEvidence(SystemOutputCharacteristicsNames,..
SystemOutputCharacteristicsIndexes,..
SystemShema,SystemOutputCharacteristicsCompressionFunctions,..
SystemParametrsNames,SystemParametrsValues[,SystemHyperParametrsNames,..
SystemHyperParametrsValues[,absolutTolErr[,relativeTolErr[,..
simulationTime[,timeStepMax[,Solver[,toleranceTime]]]]]]])
[SystemOutputChatacteristics..
]=ModelingSystemDynamicEvidence(SystemOutputCharacteristicsNames,..
SystemOutputCharacteristicsIndexes,..
SystemShema,SystemOutputCharacteristicsCompressionFunctions,..
SystemParametrsNames,SystemParametrsValues[,absolutTolErr[,..
relativeTolErr[,simulationTime[,timeStepMax[,Solver[,toleranceTime]]]]]])

Аргументы

SystemOutputChatacteristicsNames

Массив имен выходных характеристик системы в xcos-диаграмме (блок TOWS_c). Размерность массива 1xM

SystemOutputCharacteristicsIndexes

Массив индексов динамик выходных характеристик в именах выходных характеристик системы в xcos-диаграмме (блок TOWS_c). Размерность массива 1xM

SystemShema

Xcos-диаграмма пользовательской системы (тип Xcos diagram structure) или файл пользовательской диаграммы (расширение .xcos, .zcos)

SystemOutputCharacteristicsCompressionFunctions

Cell-массив (см. cell-массивы) функций или массив строк имен функций получения параметров вычисленных динамик, задаваемых индексами SystemOutputCharacteristicsIndexes

SystemParametrsNames

Имена параметров системы в xcos-диаграмме (см. свойство context в Xcos diagram structure). Массив строк размерности 1xM

SystemParametrsValues

Значения параметров системы в xcos-диаграмме (см. свойство context в Xcos diagram structure), заданных соответсвующими именами SystemParametrsNames. Массив вещественных чисел, строк, логических значений размерности NxM (каждая n-я строка из N строк в матрице - соответсвующая n-я динамика).

SystemHyperParametrsNames

Имена гиперпараметров системы в xcos-диаграмме (см. свойство context в Xcos diagram structure). Массив строк размерности 1xM

SystemHyperParametrsValues

Значения гиперпараметров системы в xcos-диаграмме (см. свойство context в Xcos diagram structure), заданных соответсвующими именами SystemParametrsNames. Массив вещественных чисел, строк, логических значений размерности 1xM.

absolutTolErr

Абсолютные погрешности интегрирования в xcos (см. свойство tol(1) atol в Xcos diagram structure) каждой динамики. Массив положительных вещественных чисел размерности 1xN

relativeTolErr

Относительные погрешности интегрирования в xcos (см. свойство tol(2) rtol в Xcos diagram structure) каждой динамики. Массив положительных вещественных чисел размерности 1xN

simulationTime

Времена симуляции в xcos (см. свойство tf в Xcos diagram structure) каждой динамики. Массив положительных вещественных чисел размерности 1xN

timeStepMax

Максимальные шаги интегрирования по времени в xcos (см. свойство tol(7) hmax в Xcos diagram structure) каждой динамики. Массив положительных вещественных чисел размерности 1xN

Solver

Виды решателей в xcos (см. свойство tol(6) solver в Xcos diagram structure) каждой динамики. Массив целых чисел в диапазоне от 0 до 100 - кодов решателя. Размерность кодов решателя - 1xN

toleranceTime

Погрешности величин времени в xcos - соответствующие минимальные шаги интегрирования по времени (см. свойство tol(3) ttol в Xcos diagram structure) по каждой динамике. Массив положительных вещественных чисел размерности 1xN

Возвращаемые значения

SystemOutputChatacteristics

Матрица параметров выходных характеристик системы. Размерность матрицы PxN

Описание

Выполняет симуляцию (вычислительный эксперимент) пользовательской системы, заданной в виде xcos-диаграммы, для различных ее параметров (заданных в контексте).

Возвращает матрицу параметров динамик заданных пользователем выходных характеристик системы (в диаграмме заданны в виде блоков TOWS_c)

Все открытые в ходе симуляции графические окна автоматически удаляются.

Пример кода

//Формируем путь к xcos-диаграмме Proba3.zcos
[a, pathlib] = libraryinfo("computing_experimentlib");
clear a;
pathlib = strncpy(pathlib, length(pathlib) - length('macros')) + 'xcos';
pathdiagram = fullfile(pathlib, 'Proba3.zcos');

//Функция фильтра
function [parametrs]=DynamicFilterFunction1(time, value)
    parametrs=[sum(time.*value) / length(time), sum((time.^2).*value) / (3*length(time))];
endfunction
function [parametr]=DynamicFilterFunction2(time, value)
    parametr=sum(time.*value) / (2*length(time));
endfunction

//Массив функций фильтров
DynamicFiltersFunctions = cell(1, 4);
DynamicFiltersFunctions{1} = DynamicFilterFunction1;
DynamicFiltersFunctions{2} = DynamicFilterFunction2;
DynamicFiltersFunctions{3} = DynamicFilterFunction2;
DynamicFiltersFunctions{4} = DynamicFilterFunction1;

//Запускаем вычислительный эксперимент
SystemParametrsNames = ['b', 'a', 'd'];//Имена параметров
SystemParametrsValues = [ 1.5, 0.81, 3.81;
                          2.25, 0.51, 6.81;
                          1.11, 0.93, 3.51];//Значения параметров
 SystemHyperParametrsNames = ['h','e'];//Имена гиперпараметров, определяющих динамику
 SystemHyperParametrsValues = [3.69,8.7];//Значения гиперпараметров, определяющих динамику
[SystemOutputCharacteristics...//Выходные характеристики
 ]=ModelingSystemDynamicEvidence(['A3', 'A3', 'A2', 'A1'],..//Имена выходных характеристик системы
                                  [3, 2, 1, 2],...//Индексы динамик
                                  fullfile(pathdiagram),..//Имя схемы системы
                                  DynamicFiltersFunctions,..//Функция сжатия динамик
                                  SystemParametrsNames,..//Имена параметров, определяющих динамику
                                  SystemParametrsValues,..//Значения параметров, определяющих динамику
                                  SystemHyperParametrsNames,..//Имена гиперпараметров, определяющих динамику
                                  SystemHyperParametrsValues,..//Значения гиперпараметров, определяющих динамику
                                  [0.5E-6,0.51E-6,0.57E-6],..//Абсолютная погрешность
                                  [0.69E-6,0.57E-6,0.75E-6],..//Относительная погрешность
                                  [10.0,11.1,15.3],..//Время симуляции
                                  [0.93E-4,0.87E-4,0.81E-4],..//Максимальный шаг интегрирования по времени
                                  [0,3,4],..//Решатель
                                  [2.1E-10,1.5E-10,1.23E-10]..//Погрешность по времени
                                  );

//Результат
disp(SystemOutputCharacteristics);

Пример кода

//Формируем путь к xcos-диаграмме Proba3.zcos
[a, pathlib] = libraryinfo("computing_experimentlib");
clear a;
pathlib = strncpy(pathlib, length(pathlib) - length('macros')) + 'xcos';
pathdiagram = fullfile(pathlib, 'Proba3.zcos');

//Функция фильтра
function [parametrs]=DynamicFilterFunction1(time, value)
    parametrs=[sum(time.*value) / length(time), sum((time.^2).*value) / (3*length(time))];
endfunction
function [parametr]=DynamicFilterFunction2(time, value)
    parametr=sum(time.*value) / (2*length(time));
endfunction

//Массив функций фильтров
DynamicFiltersFunctions = cell(1, 4);
DynamicFiltersFunctions{1} = DynamicFilterFunction1;
DynamicFiltersFunctions{2} = DynamicFilterFunction2;
DynamicFiltersFunctions{3} = DynamicFilterFunction2;
DynamicFiltersFunctions{4} = DynamicFilterFunction1;

//Запускаем вычислительный эксперимент
SystemParametrsNames = ['b', 'a', 'd'];//Имена параметров
SystemParametrsValues = [ 1.5, 0.81, 3.81;
                          2.25, 0.51, 6.81;
                          1.11, 0.93, 3.51];//Значения параметров
[SystemOutputCharacteristics...//Выходные характеристики
 ]=ModelingSystemDynamicEvidence(['A3', 'A3', 'A2', 'A1'],..//Имена выходных характеристик системы
                                  [3, 2, 1, 2],...//Индексы динамик
                                  fullfile(pathdiagram),..//Имя схемы системы
                                  DynamicFiltersFunctions,..//Функция сжатия динамик
                                  SystemParametrsNames,..//Имена параметров, определяющих динамику
                                  SystemParametrsValues,..//Значения параметров, определяющих динамику
                                  [0.5E-6,0.51E-6,0.57E-6],..//Абсолютная погрешность
                                  [0.69E-6,0.57E-6,0.75E-6],..//Относительная погрешность
                                  [10.0,11.1,15.3],..//Время симуляции
                                  [0.93E-4,0.87E-4,0.81E-4],..//Максимальный шаг интегрирования по времени
                                  [0,3,4],..//Решатель
                                  [2.1E-10,1.5E-10,1.23E-10]..//Погрешность по времени
                                  );

//Результат
disp(SystemOutputCharacteristics);

Пример кода

//Формируем путь к xcos-диаграмме Proba3.zcos
[a, pathlib] = libraryinfo("computing_experimentlib");
clear a;
pathlib = strncpy(pathlib, length(pathlib) - length('macros')) + 'xcos';
pathdiagram = fullfile(pathlib, 'Proba3.zcos');

//Функция фильтра
function [parametrs]=DynamicFilterFunction1(time, value)
    parametrs=[sum(time.*value) / length(time), sum((time.^2).*value) / (3*length(time))];
endfunction
function [parametr]=DynamicFilterFunction2(time, value)
    parametr=sum(time.*value) / (2*length(time));
endfunction

//Запускаем вычислительный эксперимент
SystemParametrsNames = ['b', 'a', 'd'];//Имена параметров
SystemParametrsValues = [ 1.5, 0.81, 3.81;
                          2.25, 0.51, 6.81;
                          1.11, 0.93, 3.51];//Значения параметров
 SystemHyperParametrsNames = ['h','e'];//Имена гиперпараметров, определяющих динамику
 SystemHyperParametrsValues = [3.69,8.7];//Значения гиперпараметров, определяющих динамику
[SystemOutputCharacteristics...//Выходные характеристики
 ]=ModelingSystemDynamicEvidence(['A3', 'A3', 'A2', 'A1'],..//Имена выходных характеристик системы
                                  [3, 2, 1, 2],...//Индексы динамик
                                  fullfile(pathdiagram),..//Имя схемы системы
                                  ['DynamicFilterFunction1',..
                                   'DynamicFilterFunction2',..
                                   'DynamicFilterFunction2',..
                                   'DynamicFilterFunction1'],..//Функция сжатия динамик
                                  SystemParametrsNames,..//Имена параметров, определяющих динамику
                                  SystemParametrsValues,..//Значения параметров, определяющих динамику
                                  SystemHyperParametrsNames,..//Имена гиперпараметров, определяющих динамику
                                  SystemHyperParametrsValues,..//Значения гиперпараметров, определяющих динамику
                                  [0.5E-6,0.51E-6,0.57E-6],..//Абсолютная погрешность
                                  [0.69E-6,0.57E-6,0.75E-6],..//Относительная погрешность
                                  [10.0,11.1,15.3],..//Время симуляции
                                  [0.93E-4,0.87E-4,0.81E-4],..//Максимальный шаг интегрирования по времени
                                  [0,3,4],..//Решатель
                                  [2.1E-10,1.5E-10,1.23E-10]..//Погрешность по времени
                                  );

//Результат
disp(SystemOutputCharacteristics);

Пример кода

//Формируем путь к xcos-диаграмме Proba3.zcos
[a, pathlib] = libraryinfo("computing_experimentlib");
clear a;
pathlib = strncpy(pathlib, length(pathlib) - length('macros')) + 'xcos';
pathdiagram = fullfile(pathlib, 'Proba3.zcos');

//Функция фильтра
function [parametrs]=DynamicFilterFunction1(time, value)
    parametrs=[sum(time.*value) / length(time), sum((time.^2).*value) / (3*length(time))];
endfunction
function [parametr]=DynamicFilterFunction2(time, value)
    parametr=sum(time.*value) / (2*length(time));
endfunction

//Запускаем вычислительный эксперимент
SystemParametrsNames = ['b', 'a', 'd'];//Имена параметров
SystemParametrsValues = [ 1.5, 0.81, 3.81;
                          2.25, 0.51, 6.81;
                          1.11, 0.93, 3.51];//Значения параметров
[SystemOutputCharacteristics...//Выходные характеристики
 ]=ModelingSystemDynamicEvidence(['A3', 'A3', 'A2', 'A1'],..//Имена выходных характеристик системы
                                  [3, 2, 1, 2],...//Индексы динамик
                                  fullfile(pathdiagram),..//Имя схемы системы
                                  ['DynamicFilterFunction1',..
                                   'DynamicFilterFunction2',..
                                   'DynamicFilterFunction2',..
                                   'DynamicFilterFunction1'],..//Функция сжатия динамик
                                  SystemParametrsNames,..//Имена параметров, определяющих динамику
                                  SystemParametrsValues,..//Значения параметров, определяющих динамику
                                  [0.5E-6,0.51E-6,0.57E-6],..//Абсолютная погрешность
                                  [0.69E-6,0.57E-6,0.75E-6],..//Относительная погрешность
                                  [10.0,11.1,15.3],..//Время симуляции
                                  [0.93E-4,0.87E-4,0.81E-4],..//Максимальный шаг интегрирования по времени
                                  [0,3,4],..//Решатель
                                  [2.1E-10,1.5E-10,1.23E-10]..//Погрешность по времени
                                  );

//Результат
disp(SystemOutputCharacteristics);

См. также


Report an issue
<< ComputingExperiment computing_experiment ModelingSystemDynamicTimeGrid >>