Перейти к содержанию

Пожалуйста, помогите разобраться в работе.


Анастасия_1996

Рекомендуемые сообщения

Анастасия_1996

Функция MATLAB ziegler() существует для разработки регуляторов PI и PID с использованием формулы Циглера – Никольса. Применение данной функции можно увидеть в программе. Не работает функция ziegler. Вы дает ошибку

 function[Gc,Kp,Ti,Td,H]=ziegler(key,vars)
 ↑
Error: Function definitions are not permitted in this context.

 

function[Gc,Kp,Ti,Td,H]=ziegler(key,vars)

Ti=[]; Td=[]; H=1;

if length(vars)==4,

K=vars(1); L=vars(2); T=vars(3); N=vars(4); a=K*L/T;

if key==1, Kp=1/a;

elseif key==2, Kp=0.9/a; Ti=3.33*L;

elseif key==3 | key==4, Kp=1.2/a; Ti=2*L; Td=L/2; end

elseif length(vars)==3,

K=vars(1); Tc=vars(2); N=vars(3);

if key==1, Kp=0.5*K;

elseif key==2, Kp=0.4*K; Ti=0.8*Tc;

elseif key==3 | key==4, Kp=0.6*K; Ti=0.5*Tc; Td=0.12*Tc; end

elseif length(vars)==5,

K=vars(1); Tc=vars(2); rb=vars(3); N=vars(5);

pb=pi*vars(4)/180; Kp=K*rb*cos(pb);

if key==2, Ti=-Tc/(2*pi*tan(pb));

elseif key==3|key==4, Ti=Tc*(1+sin(pb))/(pi*cos(pb)); Td=Ti/4; end

end

[Gc,H]=writepid(Kp,Ti,Td,N,key);

Ссылка на сообщение
Поделиться на другие сайты

@Анастасия_1996 пример надо внимательно переписывать. И в синтаксисе немного разобраться :)

Сравните с вашим определением функции:

Цитата

function [Gc,Kp,Ti,Td,H]=ziegler(key,vars)

https://books.google.ru/books?id=C_2mg9xAUJcC&pg=PA187&lpg=PA187&dq=MATLAB+function[Gc,Kp,Ti,Td,H]%3Dziegler(key,vars)&source=bl&ots=eQHEmCXjMD&sig=ACfU3U1v2Q1DkUWTyF4RqvcBb8H2GiGhjA&hl=ru&sa=X&ved=2ahUKEwiwgIH-243qAhWCtYsKHYTWAXEQ6AEwAHoECAoQAQ#v=onepage&q=MATLAB function[Gc%2CKp%2CTi%2CTd%2CH]%3Dziegler(key%2Cvars)&f=false

Изменено пользователем andrew75
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...