как создать пользовательскую s-функцию в simulink?

Какой блок я могу использовать для создания пользовательской s-функции в simulink?

Я хочу использовать код C с помощью S-функции. Я знаю, что есть функции, которые мне нужно определить, но я не знаю, как их достичь или с какого именно кода начать.

Примечание. Я совершенно не знаком с Matlab и Simulink.


person user1413188    schedule 02.12.2013    source источник
comment
Есть много демонстраций, которые вы можете посмотреть. Введите sfundemos (без кавычек) в командной строке MATLAB.   -  person Phil Goddard    schedule 02.12.2013


Ответы (2)


Проверьте блок S-function Builder из библиотеки Simulink (в Simulink-> Пользовательские функции). Вы можете установить количество состояний, входов, выходов, а также добавить код для вычисления производных + выходов. Когда вы нажимаете Build, он генерирует код C, и вы можете начать с него в качестве шаблона. Или вы можете использовать интерфейс S-function Builder для написания всего вашего кода.

Изменить: в Matlab также есть встроенный шаблон, к которому вы можете получить доступ:

edit([matlabroot,'/simulink/src/sfuntmpl_basic.c']);
person remus    schedule 02.12.2013
comment
Спасибо, это было полезно, потому что я не знал, что S-function Builder может сгенерировать для меня код шаблона. - person user1413188; 02.12.2013

Вы проверяли документацию по MATLAB по этому поводу? Обычно он довольно полный, как только вы найдете нужную страницу для чтения.

Для s-функций там, например. является

http://www.mathworks.de/de/help/simulink/sfg/how-to-implement-s-functions.html

который включает ссылки на примеры s-функций, которые вы можете найти в своей установке Matlab.

person sebastian    schedule 02.12.2013
comment
Я уже прочитал этот документ, и я просто заблокировал блок, который может сгенерировать для меня код c, чтобы я мог написать свой код. - person user1413188; 02.12.2013