Я пытаюсь сделать нелинейную модель пространства состояний в Simulink.Что я сделал до сих пор, так это:
Внутри моей функции Matlab я написал свои уравнения:
function [xdot, y] = nonlinearss(x,u)
%define constants
a1=...;
b1=...;
xdot=[x(2);x(3);x(4);x(5);a1*x(1)*x(1)+...]+[0;0;0;0;(b1*x(1)*x(1)+...]*u;
y = x(1);
end
Когда я запускаю модель, она дает мне эту ошибку:
Simulink не может распространить режим переменного размера с выходного порта 1 «Untitled / MATLAB Function» на входной порт 1 «Untitled / Integrator».Этот входной порт ожидает режим фиксированного размера.Режим переменного размера происходит из «функции без названия / MATLAB».Изучите конфигурации «без названия / Интегратор» для одного из следующих сценариев: 1) блок не поддерживает сигналы переменного размера;2) блок поддерживает сигналы переменного размера, но его необходимо настроить.
my x
матрица - это вектор фиксированного размера (5x1), а также xdot
.Почему это дает мне эту ошибку и как я могу это исправить? (Также я должен упомянуть, что в редакторе для моего кода функционального блока MATLAB я нажал «Редактировать данные» и проверил поле переменного размера для xdot и x, и я дал[5 1] как размер.)