summaryrefslogtreecommitdiff
path: root/2048/CH9/EX9.5/pp_basic.sci
diff options
context:
space:
mode:
Diffstat (limited to '2048/CH9/EX9.5/pp_basic.sci')
-rwxr-xr-x2048/CH9/EX9.5/pp_basic.sci26
1 files changed, 26 insertions, 0 deletions
diff --git a/2048/CH9/EX9.5/pp_basic.sci b/2048/CH9/EX9.5/pp_basic.sci
new file mode 100755
index 000000000..c8fb0a356
--- /dev/null
+++ b/2048/CH9/EX9.5/pp_basic.sci
@@ -0,0 +1,26 @@
+// Design of 2-DOF pole placement controller, as discussed in Sec. 9.2.
+// 9.5
+
+// function [Rc,Sc,Tc,gamma] = pp_basic(B,A,k,phi)
+// calculates pole placement controller
+
+
+function [Rc,Sc,Tc,gamm] = pp_basic(B,A,k,phi)
+
+// Setting up and solving Aryabhatta identity
+[Ag,Ab] = polsplit2(A); dAb = length(Ab) - 1;
+[Bg,Bb] = polsplit2(B); dBb = length(Bb) - 1;
+
+[zk,dzk] = zpowk(k);
+
+[N,dN] = polmul(Bb,dBb,zk,dzk);
+dphi = length(phi) - 1;
+
+[S1,dS1,R1,dR1] = xdync(N,dN,Ab,dAb,phi,dphi);
+
+// Determination of control law
+Rc = convol(Bg,R1); Sc = convol(Ag,S1);
+Tc = Ag; gamm = sum(phi)/sum(Bb);
+
+endfunction;
+