Создание S-функции

Обсуждение вопросов, связанных с Simulink

Модератор: Admin

MaksimSHP
Пользователь
Сообщения: 18
Зарегистрирован: Пт ноя 06, 2015 10:27 pm

Создание S-функции

Сообщение MaksimSHP » Пн ноя 27, 2017 7:42 pm

Добрый день.
Помогите пожалуйста создать блок S-Function. Есть ли ошибка в моих следующих действиях? Открываю блок S-Function. Нажимаю Edit, затем пишу текст программы. Сохраняю. Присваиваю имя файлу. В поле S-function name прописывается тоже самое имя файла, но только без расширения. Нажимаю APPLY и появляется ошибка: Error due to multiple causes. "имя файла" is a script. Error getting arg counts for S-function "имя файла" in untitled/S-Function. Matlab error message: "имя файла" is a script.
Подскажите в чем ошибка.

Fs=1e3
t=0:1/Fs:50e-3
A=1
f0=50
tau=1e-2
s=square(2*pi*t*f0,f0*tau*100)
figure,plot(t,s)
ylim([-2 2])

Спасибо.

KatKat
Пользователь
Сообщения: 92
Зарегистрирован: Чт мар 22, 2007 4:06 pm

Re: Создание S-функции

Сообщение KatKat » Пн ноя 27, 2017 8:05 pm


chernykh
Эксперт
Сообщения: 4506
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Создание S-функции

Сообщение chernykh » Вт ноя 28, 2017 6:36 am

Имена файлов модели и S-функции и должны быть разными.
Черных И.В.
Уральский федеральный университет им. Б. Н. Ельцина
Приглашаю к сотрудничеству: http://urfu.ru/ru/science/stimul-pablik
Связь через ЛС.

MaksimSHP
Пользователь
Сообщения: 18
Зарегистрирован: Пт ноя 06, 2015 10:27 pm

Re: Создание S-функции

Сообщение MaksimSHP » Ср ноя 29, 2017 3:13 pm

Спасибо за ответы.

Теперь данной ошибки нет, но появилась другая. При запуске симуляции выходит ошибка, что данного файла не существует. Делаю все сначала. Каждый раз при нажатии Edit требуется либо показать путь, либо создать новый.

chernykh
Эксперт
Сообщения: 4506
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Создание S-функции

Сообщение chernykh » Ср ноя 29, 2017 6:12 pm

Папка со всеми файлами должна быть задана как рабочая.
Черных И.В.
Уральский федеральный университет им. Б. Н. Ельцина
Приглашаю к сотрудничеству: http://urfu.ru/ru/science/stimul-pablik
Связь через ЛС.

MaksimSHP
Пользователь
Сообщения: 18
Зарегистрирован: Пт ноя 06, 2015 10:27 pm

Re: Создание S-функции

Сообщение MaksimSHP » Пт дек 01, 2017 7:05 pm

Спасибо.
Последний раз редактировалось MaksimSHP Пт дек 01, 2017 7:11 pm, всего редактировалось 1 раз.

MaksimSHP
Пользователь
Сообщения: 18
Зарегистрирован: Пт ноя 06, 2015 10:27 pm

Re: Создание S-функции

Сообщение MaksimSHP » Пт дек 01, 2017 7:10 pm

При отсутствии указания полного пути к читаемым или записываемым файлам пакет MATLAB осуществляет поиск файла для чтения и производит запись в папку, называемую рабочей . Все версии MATLAB позволяют установить путь в рабочую папку, выбранную пользователем. Универсальным является способ, использующий команду cd. Сd « путь » – устанавливает папку, указанную переменной «путь» в качестве рабочей.
Это верно?

MaksimSHP
Пользователь
Сообщения: 18
Зарегистрирован: Пт ноя 06, 2015 10:27 pm

Re: Создание S-функции

Сообщение MaksimSHP » Пн дек 04, 2017 6:59 pm

Добрый день.

Если имя блока совпадает с именем файла S-функции, то при нажатии Edit сразу же появляется написанная программа, но при запуске выходит ошибка Script. Если же задать названия не совпадают, то требуется постоянно указывать путь к файлу и выдает ошибку при запуске симуляции, что данного файла не существует.

sandy
Эксперт
Сообщения: 5340
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Создание S-функции

Сообщение sandy » Пн дек 04, 2017 7:59 pm

но при запуске выходит ошибка Script.

Это значит, что система видит ваш матлабовский код, но он не является функцией. Вам же выше давали ссылку на описание того, как эти функции пишутся.
С уважением

Александр Сергиенко