function [c,ceq] = const1(xx) %% parametry g = 9.81; M = 0.2; l = 0.4; Beta = 0.02; %Control params (to opt): K = [xx(1) xx(2)]; %% Sim start opt = simset('SrcWorkspace','current','DstWorkspace','current'); out = sim('wahModelSS.slx',[0 20],opt) t = out.x.time y1 = out.x.signals(1).values; % model data %% ograniczenia %% Constrains / ograniczenia nieliniowe / Quality t1=2; t2= 5; % dolne zapisujemy : "Warość maxymalna" max -Y(zakres badany) + wartość ograniczenia % górne : "Warość maxymalna" max Y(zakres badany) - wartość ograniczenia c(1) = max(y1(t <= t2)-1.1); % SettlingMax c(2) = max(-y1(t >= t1 & t <= t2)+0.8); % SettlingMin c(3) = max(y1(t > t2)-1); % Max Const Error c(4) = max(-y1(t>t2)+0.95); % Min Const Error c = c - xx(2); ceq = []; %% Plot data % % figure(1) % plot(t,y1) % xlabel('t'); % legend('Theta')