From: <par...@us...> - 2012-02-25 20:06:08
|
Revision: 9680 http://octave.svn.sourceforge.net/octave/?rev=9680&view=rev Author: paramaniac Date: 2012-02-25 20:06:02 +0000 (Sat, 25 Feb 2012) Log Message: ----------- control: tinker with example Modified Paths: -------------- trunk/octave-forge/main/control/inst/optiPID.m trunk/octave-forge/main/control/inst/optiPIDfun.m Added Paths: ----------- trunk/octave-forge/main/control/inst/optiPIDctrl.m Modified: trunk/octave-forge/main/control/inst/optiPID.m =================================================================== --- trunk/octave-forge/main/control/inst/optiPID.m 2012-02-25 15:59:51 UTC (rev 9679) +++ trunk/octave-forge/main/control/inst/optiPID.m 2012-02-25 20:06:02 UTC (rev 9680) @@ -48,9 +48,7 @@ Td_AH = Tu * 0.15 * exp ( -1.40 * kappa + 0.56 * kappa^2 ) tau_AH = Td_AH / 10 -numC_AH = kp_AH * [Ti_AH * Td_AH, Ti_AH, 1]; -denC_AH = conv ([Ti_AH, 0], [tau_AH^2, 2 * tau_AH, 1]); -C_AH = tf (numC_AH, denC_AH); +C_AH = optiPIDctrl (kp_AH, Ti_AH, Td_AH, tau_AH); % Initial Values C_par_0 = [kp_AH; Ti_AH; Td_AH]; @@ -71,9 +69,7 @@ Td_opt = C_par_opt(3) tau_opt = Td_opt / 10 -numC_opt = kp_opt * [Ti_opt * Td_opt, Ti_opt, 1]; -denC_opt = conv ([Ti_opt, 0], [tau_opt^2, 2 * tau_opt, 1]); -C_opt = tf (numC_opt, denC_opt); +C_opt = optiPIDctrl (kp_opt, Ti_opt, Td_opt, tau_opt); % Open Loop L_AH = P * C_AH; Added: trunk/octave-forge/main/control/inst/optiPIDctrl.m =================================================================== --- trunk/octave-forge/main/control/inst/optiPIDctrl.m (rev 0) +++ trunk/octave-forge/main/control/inst/optiPIDctrl.m 2012-02-25 20:06:02 UTC (rev 9680) @@ -0,0 +1,8 @@ +function C = optiPIDctrl (Kp, Ti, Td, tau) + + num = Kp * [Ti*Td, Ti, 1]; + den = conv ([Ti, 0], [tau^2, 2*tau, 1]); + + C = tf (num, den); + +end \ No newline at end of file Modified: trunk/octave-forge/main/control/inst/optiPIDfun.m =================================================================== --- trunk/octave-forge/main/control/inst/optiPIDfun.m 2012-02-25 15:59:51 UTC (rev 9679) +++ trunk/octave-forge/main/control/inst/optiPIDfun.m 2012-02-25 20:06:02 UTC (rev 9680) @@ -18,9 +18,7 @@ tau = Td / 10; % PID Controller with Roll-Off - numC = kp * [Ti*Td, Ti, 1]; - denC = conv ([Ti, 0], [tau^2, 2*tau, 1]); - C = tf (numC, denC); + C = optiPIDctrl (kp, Ti, Td, tau); % Open Loop L = P * C; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |