Анастасия_1996 0 Опубликовано 19 июня, 2020 Share Опубликовано 19 июня, 2020 Функция 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); Цитата Ссылка на сообщение Поделиться на другие сайты
sputnikk 1 310 Опубликовано 19 июня, 2020 Share Опубликовано 19 июня, 2020 не знаю что это, но яндекс выдал подобное https://www.mathworks.com/matlabcentral/mlc-downloads/downloads/submissions/2302/versions/1/previews/xue/ziegler.m/index.html Цитата Ссылка на сообщение Поделиться на другие сайты
andrew75 1 422 Опубликовано 19 июня, 2020 Share Опубликовано 19 июня, 2020 (изменено) @Анастасия_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 Изменено 19 июня, 2020 пользователем andrew75 1 Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.