From b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b Mon Sep 17 00:00:00 2001 From: priyanka Date: Wed, 24 Jun 2015 15:03:17 +0530 Subject: initial commit / add all books --- 62/CH7/EX7.11/ex_7_11.sce | 7 +++++++ 62/CH7/EX7.14/ex_7_14.sce | 6 ++++++ 62/CH7/EX7.15/ex_7_15.sce | 7 +++++++ 62/CH7/EX7.16/ex_7_16.sce | 14 ++++++++++++++ 62/CH7/EX7.18/ex_7_18.sce | 7 +++++++ 62/CH7/EX7.20/ex_7_20.sce | 8 ++++++++ 62/CH7/EX7.24/ex_7_24.sce | 8 ++++++++ 62/CH7/EX7.25/ex_7_25.sce | 8 ++++++++ 62/CH7/EX7.26/ex_7_26.sce | 12 ++++++++++++ 62/CH7/EX7.27/ex_7_27.sce | 11 +++++++++++ 62/CH7/EX7.29/ex_7_29.sce | 29 +++++++++++++++++++++++++++++ 62/CH7/EX7.30/ex_7_30.sce | 22 ++++++++++++++++++++++ 62/CH7/EX7.31/ex_7_31.sce | 29 +++++++++++++++++++++++++++++ 62/CH7/EX7.32/ex_7_32.sce | 8 ++++++++ 62/CH7/EX7.35/ex_7_35.sce | 19 +++++++++++++++++++ 62/CH7/EX7.36/ex_7_36.sce | 8 ++++++++ 62/CH7/EX7.37/ex_7_37.sce | 7 +++++++ 62/CH7/EX7.38/ex_7_38.sce | 17 +++++++++++++++++ 62/CH7/EX7.39/ex_7_39.sce | 9 +++++++++ 62/CH7/EX7.43/ex_7_43.sce | 9 +++++++++ 62/CH7/EX7.44/ex_7_44.sce | 16 ++++++++++++++++ 62/CH7/EX7.45/ex_7_45.sce | 10 ++++++++++ 62/CH7/EX7.47/ex_7_47.sce | 31 +++++++++++++++++++++++++++++++ 62/CH7/EX7.48/ex_7_48.sce | 22 ++++++++++++++++++++++ 62/CH7/EX7.49/ex_7_49.sce | 12 ++++++++++++ 62/CH7/EX7.5/ex_7_5.sce | 9 +++++++++ 62/CH7/EX7.50/ex_7_50.sce | 14 ++++++++++++++ 62/CH7/EX7.53/ex_7_53.sce | 17 +++++++++++++++++ 62/CH7/EX7.54/ex_7_54.sce | 19 +++++++++++++++++++ 62/CH7/EX7.7/ex_7_7.sce | 6 ++++++ 62/CH7/EX7.8/ex_7_8.sce | 6 ++++++ 62/CH7/EX7.9/ex_7_9.sce | 11 +++++++++++ 32 files changed, 418 insertions(+) create mode 100755 62/CH7/EX7.11/ex_7_11.sce create mode 100755 62/CH7/EX7.14/ex_7_14.sce create mode 100755 62/CH7/EX7.15/ex_7_15.sce create mode 100755 62/CH7/EX7.16/ex_7_16.sce create mode 100755 62/CH7/EX7.18/ex_7_18.sce create mode 100755 62/CH7/EX7.20/ex_7_20.sce create mode 100755 62/CH7/EX7.24/ex_7_24.sce create mode 100755 62/CH7/EX7.25/ex_7_25.sce create mode 100755 62/CH7/EX7.26/ex_7_26.sce create mode 100755 62/CH7/EX7.27/ex_7_27.sce create mode 100755 62/CH7/EX7.29/ex_7_29.sce create mode 100755 62/CH7/EX7.30/ex_7_30.sce create mode 100755 62/CH7/EX7.31/ex_7_31.sce create mode 100755 62/CH7/EX7.32/ex_7_32.sce create mode 100755 62/CH7/EX7.35/ex_7_35.sce create mode 100755 62/CH7/EX7.36/ex_7_36.sce create mode 100755 62/CH7/EX7.37/ex_7_37.sce create mode 100755 62/CH7/EX7.38/ex_7_38.sce create mode 100755 62/CH7/EX7.39/ex_7_39.sce create mode 100755 62/CH7/EX7.43/ex_7_43.sce create mode 100755 62/CH7/EX7.44/ex_7_44.sce create mode 100755 62/CH7/EX7.45/ex_7_45.sce create mode 100755 62/CH7/EX7.47/ex_7_47.sce create mode 100755 62/CH7/EX7.48/ex_7_48.sce create mode 100755 62/CH7/EX7.49/ex_7_49.sce create mode 100755 62/CH7/EX7.5/ex_7_5.sce create mode 100755 62/CH7/EX7.50/ex_7_50.sce create mode 100755 62/CH7/EX7.53/ex_7_53.sce create mode 100755 62/CH7/EX7.54/ex_7_54.sce create mode 100755 62/CH7/EX7.7/ex_7_7.sce create mode 100755 62/CH7/EX7.8/ex_7_8.sce create mode 100755 62/CH7/EX7.9/ex_7_9.sce (limited to '62/CH7') diff --git a/62/CH7/EX7.11/ex_7_11.sce b/62/CH7/EX7.11/ex_7_11.sce new file mode 100755 index 000000000..45a102826 --- /dev/null +++ b/62/CH7/EX7.11/ex_7_11.sce @@ -0,0 +1,7 @@ +clc; +clear; +close; +z=%s; +Hz=syslin('d',(z/(2*z^2-3*z+1))); +ss=tf2ss(Hz) +disp(ss) diff --git a/62/CH7/EX7.14/ex_7_14.sce b/62/CH7/EX7.14/ex_7_14.sce new file mode 100755 index 000000000..aea99c33a --- /dev/null +++ b/62/CH7/EX7.14/ex_7_14.sce @@ -0,0 +1,6 @@ +clc; +close +clear; +s=%s; +tf=syslin('c',(1/(s^2+3*s+2))); +ss=tf2ss(tf); diff --git a/62/CH7/EX7.15/ex_7_15.sce b/62/CH7/EX7.15/ex_7_15.sce new file mode 100755 index 000000000..690ba639c --- /dev/null +++ b/62/CH7/EX7.15/ex_7_15.sce @@ -0,0 +1,7 @@ +clc; +close +clear; +s=%s; +tf=syslin('c',((4*s+1)/(s^2+3*s+2))); +ss=tf2ss(tf); +disp(ss) \ No newline at end of file diff --git a/62/CH7/EX7.16/ex_7_16.sce b/62/CH7/EX7.16/ex_7_16.sce new file mode 100755 index 000000000..abb2d9f29 --- /dev/null +++ b/62/CH7/EX7.16/ex_7_16.sce @@ -0,0 +1,14 @@ +clc; +close +clear; +s=%s; +b0=1; +b1=2; +b2=3; +b3=4; +a1=5; +a2=6; +a3=7; +tf=syslin('d',((b0*s^3+b1*s^2+b2*s^1+b3)/(s^3+a1*s^2+a2*s+a3))); +ss=tf2ss(tf); +disp(ss) \ No newline at end of file diff --git a/62/CH7/EX7.18/ex_7_18.sce b/62/CH7/EX7.18/ex_7_18.sce new file mode 100755 index 000000000..407e2d75f --- /dev/null +++ b/62/CH7/EX7.18/ex_7_18.sce @@ -0,0 +1,7 @@ +clc; +close +clear; +s=%s; +tf=syslin('c',((3*s+7)/((s+1)*(s+2)*(s+5)))); +ss=tf2ss(tf); +disp(ss) \ No newline at end of file diff --git a/62/CH7/EX7.20/ex_7_20.sce b/62/CH7/EX7.20/ex_7_20.sce new file mode 100755 index 000000000..700f3df4e --- /dev/null +++ b/62/CH7/EX7.20/ex_7_20.sce @@ -0,0 +1,8 @@ +clc; +syms n; +A=[0 1;-1/8 3/4]; +e=spec(A); +b1=(e(2)^n-e(1)^n)/(e(2)-e(1)); +b0=e(2)^n-b1*e(2); +An=b0*eye(A)+b1*A; +disp(An,"A^n") \ No newline at end of file diff --git a/62/CH7/EX7.24/ex_7_24.sce b/62/CH7/EX7.24/ex_7_24.sce new file mode 100755 index 000000000..3e3da9d60 --- /dev/null +++ b/62/CH7/EX7.24/ex_7_24.sce @@ -0,0 +1,8 @@ +clc; +syms n; +A=[0 1;-1/3 4/3]; +e=spec(A); +b1=(e(2)^n-e(1)^n)/(e(2)-e(1)); +b0=e(2)^n-b1*e(2); +An=b0*eye(A)+b1*A; +disp(An,"A^n") \ No newline at end of file diff --git a/62/CH7/EX7.25/ex_7_25.sce b/62/CH7/EX7.25/ex_7_25.sce new file mode 100755 index 000000000..f275b1d6f --- /dev/null +++ b/62/CH7/EX7.25/ex_7_25.sce @@ -0,0 +1,8 @@ +clc; +syms n; +A=[2 1;0 2]; +e=spec(A);//since we get equal eigen values +b1=n*e(1)^(n-1); +b0=e(1)^n-b1*e(1); +An=b0*eye(A)+b1*A; +disp(An,"A^n") \ No newline at end of file diff --git a/62/CH7/EX7.26/ex_7_26.sce b/62/CH7/EX7.26/ex_7_26.sce new file mode 100755 index 000000000..fc955eeff --- /dev/null +++ b/62/CH7/EX7.26/ex_7_26.sce @@ -0,0 +1,12 @@ +clear; +clc; +close; +A=[2 1;0 2]; +D=[2 0; 0 2]; +N=[0 1;0 0]; +disp(N^2,"N*N="); +p=D*N; +q=N*D; +if (p==q) then + disp("D and N commute") +end \ No newline at end of file diff --git a/62/CH7/EX7.27/ex_7_27.sce b/62/CH7/EX7.27/ex_7_27.sce new file mode 100755 index 000000000..92878c268 --- /dev/null +++ b/62/CH7/EX7.27/ex_7_27.sce @@ -0,0 +1,11 @@ +clc; +syms n; +A=[2 0 0;0 -2 1;0 4 1]; +eig=spec(A); +m=poly(eig(1:2),"A",["roots"]); +disp(m,"minimal polynomial is") +e=spec(A); +b1=(e(2)^n-e(1)^n)/(e(2)-e(1)); +b0=e(2)^n-b1*e(2); +An=b0*eye(A)+b1*A; +disp(An,"A^n") \ No newline at end of file diff --git a/62/CH7/EX7.29/ex_7_29.sce b/62/CH7/EX7.29/ex_7_29.sce new file mode 100755 index 000000000..b51392374 --- /dev/null +++ b/62/CH7/EX7.29/ex_7_29.sce @@ -0,0 +1,29 @@ +clc; +A=[0 1;-1/8 3/4]; +B=[0;1]; +C=[-1/8 3/4]; +D=[1]; +Hz=ss2tf(syslin('d',A,B,C,D)); +disp(Hz,"H(z)="); +z = %z; +syms n z1; //To f i n d out I n v e r s e z t r a n s f o rm z must be l i n e a r z = z1 +X =z ^2 /((z -(1/2) )*(z -(1/4) )) +X1 = denom (X); +zp = roots (X1); +X1 = z1 ^2 /(( z1 -(1/4) )*(z1 -(1/2) )) +F1 = X1 *( z1 ^(n -1) )*(z1 -zp (1) ); +F2 = X1 *( z1 ^(n -1) )*(z1 -zp (2) ); +h1 = limit (F1 ,z1 ,zp (1) ); +disp (h1 , ' h1 [ n]= ' ) +h2 = limit (F2 ,z1 ,zp (2) ); +disp (h2 , ' h2 [ n]= ' ) +h = h1+h2; +disp (h, ' h [ n]= ' ) +n=0:10; +x=[zeros(1,find(n==0)-1) ones(1,length(n)-find(n==0)+1)]; +hn=2^(1-n)-4^-n; +y=convol(x,hn); +plot2d3(n,y(1:length(n))) +figure +plot2d3(n,8/3-2^(1-n)+4^-n) +disp("hence from the figure we can say y[n]=8/3-2^(1-n)+4^-n") diff --git a/62/CH7/EX7.30/ex_7_30.sce b/62/CH7/EX7.30/ex_7_30.sce new file mode 100755 index 000000000..9a37de1c1 --- /dev/null +++ b/62/CH7/EX7.30/ex_7_30.sce @@ -0,0 +1,22 @@ +clc; +A=[0 1;-1/8 3/4]; +B=[0;1]; +C=[-1/8 3/4]; +D=[1]; +Hz=ss2tf(syslin('d',A,B,C,D)); +disp(Hz,"H(z)="); +z = %z; +syms n z1; //To f i n d out I n v e r s e z t r a n s f o rm z must +//be l i n e a r z = z1 +X =z ^2 /((z -(1/2) )*(z -(1/4) )) +X1 = denom (X); +zp = roots (X1); +X1 = z1 ^2 /(( z1 -(1/4) )*(z1 -(1/2) )) +F1 = X1 *( z1 ^(n -1) )*(z1 -zp (1) ); +F2 = X1 *( z1 ^(n -1) )*(z1 -zp (2) ); +h1 = limit (F1 ,z1 ,zp (1) ); +disp (h1 , ' h1 [ n]= ' ) +h2 = limit (F2 ,z1 ,zp (2) ); +disp (h2 , ' h2 [ n]= ' ) +h = h1+h2; +disp ('for n>=0',h, ' h [ n]= ' ) \ No newline at end of file diff --git a/62/CH7/EX7.31/ex_7_31.sce b/62/CH7/EX7.31/ex_7_31.sce new file mode 100755 index 000000000..f05ff43a2 --- /dev/null +++ b/62/CH7/EX7.31/ex_7_31.sce @@ -0,0 +1,29 @@ +clc; +A=[0 1;-1/3 4/3]; +B=[0;1/3]; +C=[-1/3 4/3]; +D=[1/3]; +Hz=ss2tf(syslin('d',A,B,C,D)); +disp(Hz,"H(z)="); +z = %z; +syms n z1; +X =z ^2 /(1-4*z+3*z^2) +X1 = denom (X); +zp = roots (X1); +X1 = z1 ^2 /((z1-1)*(z1-1/3)) +F1 = X1 *( z1 ^(n -1) )*(z1 -1/3 ); +F2 = X1 *( z1 ^(n -1) )*(z1 -1 ); +h1 = limit (F1 ,z1 ,zp (1) ); +disp (h1 , ' h1 [ n]= ' ) +h2 = limit (F2 ,z1 ,zp (2) ); +disp (h2 , ' h2 [ n]= ' ) +h = h1+h2; +disp ('for n>=0',h, ' h [ n]= ' ) +n=0:10; +x=2^-n.*[zeros(1,find(n==0)-1) ones(1,length(n)-find(n==0)+1)]; +hn= 3/2-(3^-n)/2; +y=convol(x,hn); +plot2d3(n,y(1:length(n))) +figure +plot2d3(n,(3/2)-2^-n+(3^-n)/2) +disp("hence from the figure we can say y[n]=(3/2)-2^-n+(3^-n)/2") diff --git a/62/CH7/EX7.32/ex_7_32.sce b/62/CH7/EX7.32/ex_7_32.sce new file mode 100755 index 000000000..1c0990ede --- /dev/null +++ b/62/CH7/EX7.32/ex_7_32.sce @@ -0,0 +1,8 @@ +clc; +A=[0 3/2;-1/2 2]; +B=[0.71;-0.71]; +C=[0.71 -0.71]; +D=[0]; +Hz=ss2tf(syslin('d',A,B,C,D)); +disp(Hz,"H(z)="); +disp(" it has only one pole at z=1/2 and it lies inside the unit circle hence the system is BIBO stable") \ No newline at end of file diff --git a/62/CH7/EX7.35/ex_7_35.sce b/62/CH7/EX7.35/ex_7_35.sce new file mode 100755 index 000000000..b2362769d --- /dev/null +++ b/62/CH7/EX7.35/ex_7_35.sce @@ -0,0 +1,19 @@ +clc; +A=[0 1 ;-1/8 3/4]; +B=[0;1]; +C=[-1/8 3/4]; +D=[1]; +Mc=[B A*B]; +if (det(Mc)<>0) then + disp("and is controllable",rank(Mc),"Mc has a rank of") +else + disp("and is uncontrollable",rank(Mc),"Mc has a rank of"); +end +Mo=[C;C*A]; +if (det(Mo)<>0) then + disp("and is observable",rank(Mo),"Mo has a rank of") +else + disp("and is unobservable",rank(Mo),"Mo has a rank of"); +end +Hz=ss2tf(syslin('d',A,B,C,D)); +disp(Hz,"H(z)="); \ No newline at end of file diff --git a/62/CH7/EX7.36/ex_7_36.sce b/62/CH7/EX7.36/ex_7_36.sce new file mode 100755 index 000000000..3ce1967de --- /dev/null +++ b/62/CH7/EX7.36/ex_7_36.sce @@ -0,0 +1,8 @@ +clc; +A=[0 1;-1/8 3/4]; +B=[0;1]; +q2=[0 ;0]; +q0=[0;1]; +//we know q2=A^2*q0+[B A*B]*X +X=inv([B A*B])*[q2-A^2*q0]; +disp(X,"therefore [x(1);x(0)]=") \ No newline at end of file diff --git a/62/CH7/EX7.37/ex_7_37.sce b/62/CH7/EX7.37/ex_7_37.sce new file mode 100755 index 000000000..628c1f2fe --- /dev/null +++ b/62/CH7/EX7.37/ex_7_37.sce @@ -0,0 +1,7 @@ +clc; +c=[-1/8 3/4]; +A=[0 1;-1/8 3/4]; +y=[1;0]; +//we know y=[c;c*A]*q0 +Q0=inv([c;c*A])*y; +disp(Q0,"therefore [q1(0);q2(0)]=") \ No newline at end of file diff --git a/62/CH7/EX7.38/ex_7_38.sce b/62/CH7/EX7.38/ex_7_38.sce new file mode 100755 index 000000000..b90fcaa30 --- /dev/null +++ b/62/CH7/EX7.38/ex_7_38.sce @@ -0,0 +1,17 @@ +clc; +A=[0 3/2;-1/2 2]; +B=[1;0]; +C=[1 -1]; +D=[0]; +Mc=[B A*B]; +if (det(Mc)<>0) then + disp("and is controllable",rank(Mc),"Mc has a rank of") +else + disp("and is uncontrollable",rank(Mc),"Mc has a rank of"); +end +Mo=[C;C*A]; +if (det(Mo)<>0) then + disp("and is observable",rank(Mo),"Mo has a rank of") +else + disp("and is unobservable",rank(Mo),"Mo has a rank of"); +end diff --git a/62/CH7/EX7.39/ex_7_39.sce b/62/CH7/EX7.39/ex_7_39.sce new file mode 100755 index 000000000..cd717f231 --- /dev/null +++ b/62/CH7/EX7.39/ex_7_39.sce @@ -0,0 +1,9 @@ +clc; +A=[0 1;-6 -5]; +syms t +//we know %e^(at)=b0*I+b1*A; +e=spec(A);//eigen values +b0=e(1)*%e^(e(2)*t)-e(2)*%e^(e(1)*t); +b1=%e^(e(1)*t)-%e^(e(2)*t); +eAt=b0*eye(A)+b1*A; +disp(eAt,"e^(At)") \ No newline at end of file diff --git a/62/CH7/EX7.43/ex_7_43.sce b/62/CH7/EX7.43/ex_7_43.sce new file mode 100755 index 000000000..8bb92220d --- /dev/null +++ b/62/CH7/EX7.43/ex_7_43.sce @@ -0,0 +1,9 @@ +clc; +A=[-2 1;1 -2]; +syms t +//we know %e^(at)=b0*I+b1*A; +e=spec(A);//eigen values +b0=e(1)*%e^(e(2)*t)-e(2)*%e^(e(1)*t); +b1=%e^(e(1)*t)-%e^(e(2)*t); +eAt=b0*eye(A)+b1*A; +disp(eAt,"e^(At)") \ No newline at end of file diff --git a/62/CH7/EX7.44/ex_7_44.sce b/62/CH7/EX7.44/ex_7_44.sce new file mode 100755 index 000000000..e42f88c09 --- /dev/null +++ b/62/CH7/EX7.44/ex_7_44.sce @@ -0,0 +1,16 @@ +clc; +syms t +A=[0 -2 1;0 0 3;0 0 0]; +z=A*A*A; +if z==0 then + disp("A is a nilpotent of index 3"); +else + disp("A is not nilpotent") +end +//we know %e^(at)=b0*I+b1*A+b2*A^2; +e=spec(A);//eigen values +b2=t^2*%e^(e(3)*t); +b1=t*%e^(e(2)*t)-b2*2*e(2); +b0=%e^(e(1)*t)-b1*e(1)-b2*e(1)^2; +eAt=b0*eye(A)+b1*A+b2*A^2; +disp(eAt,"e^(At)") \ No newline at end of file diff --git a/62/CH7/EX7.45/ex_7_45.sce b/62/CH7/EX7.45/ex_7_45.sce new file mode 100755 index 000000000..9797afcbd --- /dev/null +++ b/62/CH7/EX7.45/ex_7_45.sce @@ -0,0 +1,10 @@ +clc; +syms t +A=[0 -2 1;0 0 3;0 0 0]; +//we know %e^(at)=b0*I+b1*A+b2*A^2; +e=spec(A);//eigen values +b2=t^2*%e^(e(3)*t); +b1=t*%e^(e(2)*t)-b2*2*e(2); +b0=%e^(e(1)*t)-b1*e(1)-b2*e(1)^2; +eAt=b0*eye(A)+b1*A+b2*A^2; +disp(eAt,"e^(At)") \ No newline at end of file diff --git a/62/CH7/EX7.47/ex_7_47.sce b/62/CH7/EX7.47/ex_7_47.sce new file mode 100755 index 000000000..6aa12c5c0 --- /dev/null +++ b/62/CH7/EX7.47/ex_7_47.sce @@ -0,0 +1,31 @@ +clc; +A=[2 1 0;0 2 1;0 0 2]; +V=[2 0 0;0 2 0; 0 0 2]; +N=[0 1 0;0 0 1;0 0 0]; +z=N*N*N; +if z==0 then + disp("N is a nilpotent of index 3"); +else + disp("N is not nilpotent") +end +if V*N==N*V then + disp("V and N commute") +else + disp("V and N dont commute") +end +syms t +//e^(A*t)=e^(v*t)*e^(N*t) +e=spec(V);//eigen values +b2=t^2*%e^(e(3)*t); +b1=t*%e^(e(2)*t)-b2*2*e(2); +b0=%e^(e(1)*t)-b1*e(1)-b2*e(1)^2; +eVt=b0*eye(V)+b1*V+b2*V^2; +disp(eVt,"e^(Vt)") +e=spec(N);//eigen values +b2=t^2*%e^(e(3)*t); +b1=t*%e^(e(2)*t)-b2*2*e(2); +b0=%e^(e(1)*t)-b1*e(1)-b2*e(1)^2; +eNt=b0*eye(N)+b1*N+b2*N^2; +disp(eNt,"e^(Nt)") +eAt=eVt*eNt; +disp(eAt,"e^(A*t)=") \ No newline at end of file diff --git a/62/CH7/EX7.48/ex_7_48.sce b/62/CH7/EX7.48/ex_7_48.sce new file mode 100755 index 000000000..b2a7273f6 --- /dev/null +++ b/62/CH7/EX7.48/ex_7_48.sce @@ -0,0 +1,22 @@ +clc; +A=[0 1;-6 -5]; +b=[0;1]; +c=[1 0]; +q0=[2;1]; +syms t T +//y=c*e^(A*t)*q0+integ(c*e^A*(t-T)*b*x,0,t) +e=spec(A);//eigen values +b0=e(1)*%e^(e(2)*t)-e(2)*%e^(e(1)*t); +b1=%e^(e(1)*t)-%e^(e(2)*t); +eAt=b0*eye(A)+b1*A; +b0=e(1)*%e^(e(2)*(t-T))-e(2)*%e^(e(1)*(t-T)); +b1=%e^(e(1)*(t-T))-%e^(e(2)*(t-T)); +eAtT=b0*eye(A)+b1*A; +disp(eAt,"e^(At)"); +ceAtq0=c*eAt*q0; +ceAtTq0=c*eAtT*q0; +y=ceAtq0+integ(ceAtTq0*%e^-T,T); +y0=limit(y,T,0); +yt=limit(y,T,t); +Y=yt-y0; +disp(Y,"y(t)=") \ No newline at end of file diff --git a/62/CH7/EX7.49/ex_7_49.sce b/62/CH7/EX7.49/ex_7_49.sce new file mode 100755 index 000000000..c290815ac --- /dev/null +++ b/62/CH7/EX7.49/ex_7_49.sce @@ -0,0 +1,12 @@ +clc; +A=[-2 1;1 -2]; +q0=[.5;1]; +//Q=e^(A*t)*q0+integ(e^A*(t-T)*b*x,T,t0,t) +X=0; +//therefore integ term is zero +e=spec(A);//eigen values +b0=e(1)*%e^(e(2)*t)-e(2)*%e^(e(1)*t); +b1=%e^(e(1)*t)-%e^(e(2)*t); +eAt=b0*eye(A)+b1*A; +Q=eAt*q0; +disp(Q,"thus [vc1(t) vc2(t)]="); \ No newline at end of file diff --git a/62/CH7/EX7.5/ex_7_5.sce b/62/CH7/EX7.5/ex_7_5.sce new file mode 100755 index 000000000..7245e70b3 --- /dev/null +++ b/62/CH7/EX7.5/ex_7_5.sce @@ -0,0 +1,9 @@ +clc; +clear; +close; +s=%s; +r=2; +L=4; +c=6; +tf=syslin('c',(1/(L*s+r+(1/(c*s))))); +ss=tf2ss(tf) diff --git a/62/CH7/EX7.50/ex_7_50.sce b/62/CH7/EX7.50/ex_7_50.sce new file mode 100755 index 000000000..c8dd51bcd --- /dev/null +++ b/62/CH7/EX7.50/ex_7_50.sce @@ -0,0 +1,14 @@ +clc; +A=[0 1;2 1]; +b=[1;-1]; +c=[1 -1]; +d=[0]; +e=spec(A); +if real(e(1))>0 |real(e(2))>0 then + disp("the sytem is not asymptotically stable") +else + disp("the system is asymptotically stable") +end +Hs=ss2tf(syslin('c',A,b,c,d)); +disp(Hs,"H(s)=") +disp("there is only one pole and it is located at -1 which is in the LHP hence the system is BIBO stable") diff --git a/62/CH7/EX7.53/ex_7_53.sce b/62/CH7/EX7.53/ex_7_53.sce new file mode 100755 index 000000000..fd94a9967 --- /dev/null +++ b/62/CH7/EX7.53/ex_7_53.sce @@ -0,0 +1,17 @@ +clc; +A=[0 1;2 1]; +B=[1;-1]; +C=[1 -1]; +D=[0]; +Mc=[B A*B]; +if (det(Mc)<>0) then + disp("and is controllable",rank(Mc),"Mc has a rank of") +else + disp("and is not controllable",rank(Mc),"Mc has a rank of"); +end +Mo=[C;C*A]; +if (det(Mo)<>0) then + disp("and is observable",rank(Mo),"Mo has a rank of") +else + disp("and is unobservable",rank(Mo),"Mo has a rank of"); +end diff --git a/62/CH7/EX7.54/ex_7_54.sce b/62/CH7/EX7.54/ex_7_54.sce new file mode 100755 index 000000000..8c280828b --- /dev/null +++ b/62/CH7/EX7.54/ex_7_54.sce @@ -0,0 +1,19 @@ +clc; +A=[1 2;0 3]; +B=[1;1]; +C=[1 -1]; +D=[0]; +Mc=[B A*B]; +if (det(Mc)<>0) then + disp("and is controllable",rank(Mc),"Mc has a rank of") +else + disp("and is uncontrollable",rank(Mc),"Mc has a rank of"); +end +Mo=[C;C*A]; +if (det(Mo)<>0) then + disp("and is observable",rank(Mo),"Mo has a rank of") +else + disp("and is unobservable",rank(Mo),"Mo has a rank of"); +end +Hs=ss2tf(syslin('c',A,B,C,D)); +disp(Hs,"H(s)=") diff --git a/62/CH7/EX7.7/ex_7_7.sce b/62/CH7/EX7.7/ex_7_7.sce new file mode 100755 index 000000000..c3ca90c8c --- /dev/null +++ b/62/CH7/EX7.7/ex_7_7.sce @@ -0,0 +1,6 @@ +clc; +close +clear; +z=%s; +Hz=syslin('d',(1/(1-(3/4)*z^-1+(1/8)*z^-2))); +ss=tf2ss(Hz); diff --git a/62/CH7/EX7.8/ex_7_8.sce b/62/CH7/EX7.8/ex_7_8.sce new file mode 100755 index 000000000..c617f12ee --- /dev/null +++ b/62/CH7/EX7.8/ex_7_8.sce @@ -0,0 +1,6 @@ +clc; +close +clear; +z=%s; +tf=syslin('d',((1+(1/2)*z^-1)/(1-(3/4)*z^-1+(1/8)*z^-2))); +ss=tf2ss(tf); diff --git a/62/CH7/EX7.9/ex_7_9.sce b/62/CH7/EX7.9/ex_7_9.sce new file mode 100755 index 000000000..7d7df4333 --- /dev/null +++ b/62/CH7/EX7.9/ex_7_9.sce @@ -0,0 +1,11 @@ +clc; +close +clear; +z=%s; +b0=1; +b1=2; +b2=3; +a1=4; +a2=5; +tf=syslin('d',((b0+b1*z^-1+b2*z^-2)/(1+a1*z^-1+a2*z^-2))); +ss=tf2ss(tf); -- cgit