использование функции 1 раз в Симулинке

Обсуждение вопросов, связанных с Partial Differential Equations Toolbox и Comsol MultiPhysics (Femlab)Анализ данных и статистика в MATLAB. Проектирование систем управления в MATLAB\Simulink

Модератор: Admin

Dead199999
Пользователь
Сообщения: 1
Зарегистрирован: Пт мар 09, 2018 9:26 pm

использование функции 1 раз в Симулинке

Сообщение Dead199999 » Пт мар 09, 2018 9:54 pm

Доброго времени суток.
Проблема в чём: я пишу генетический алгоритм для минимизации некоторой функции (в данном случае функция ошибок получаемых из модели симулинк). Необходимо случайно создать несколько векторов (матрица [10х6], где вектор- [1x6]), подставить эти векторы поочередно в модель, посмотреть на значение функции, которое будет при этих значениях векторов ну и далее по ГА селекцию провести, мутировать и т.д. Звучит вроде просто. Однако проблема в том, что вектора создаются в каждый момент времени и никакими условиями остановить это не могу. (как пример- через if:
SizeOf=10;
%Population обновляю и задаю через блок Memory, иначе каждый раз он будет генерировать новую популяцию.
if Population <= SizeOf
%Создавать вектора x(Population, : )
else
%ничего не делай
end
матлаб просит определить вектор x при любых условиях и естественно, продолжает их создавать. )
Вопрос следующий: Возможно ли написать функцию для симулинка так, чтобы какой-то кусок функции использовался лишь 1 раз? или как-то через отдельную функцию прописать инициализацию, чтобы случайно массив создать и он остался в нужном размере неизменным. Вроде мелочь, а не преодолею никак.