summaryrefslogtreecommitdiff
path: root/46
diff options
context:
space:
mode:
Diffstat (limited to '46')
-rwxr-xr-x46/CH10/EX10.1/Example10_1.sce19
-rwxr-xr-x46/CH12/EX12.1/Example12_1.sce13
-rwxr-xr-x46/CH12/EX12.2/Example12_2.sce8
-rwxr-xr-x46/CH14/EX14.1/Example14_1.sce28
-rwxr-xr-x46/CH14/EX14.2/Example14_2.sce18
-rwxr-xr-x46/CH14/EX14.3/Example14_3.sce32
-rwxr-xr-x46/CH14/EX14.4/Example14_4.sce30
-rwxr-xr-x46/CH15/EX15.1/Example15_1.sce13
-rwxr-xr-x46/CH15/EX15.1/figure15_1.jpgbin0 -> 40504 bytes
-rwxr-xr-x46/CH15/EX15.2/Example15_2.sce14
-rwxr-xr-x46/CH15/EX15.2/figure15_2.jpgbin0 -> 42874 bytes
-rwxr-xr-x46/CH16/EX16.1/Example16_1.sce14
-rwxr-xr-x46/CH16/EX16.2/Example16_2.sce16
-rwxr-xr-x46/CH16/EX16.4/Example16_4.sce12
-rwxr-xr-x46/CH16/EX16.4/figure16_4.jpgbin0 -> 73248 bytes
-rwxr-xr-x46/CH16/EX16.5/Example16_5.sce9
-rwxr-xr-x46/CH16/EX16.5/figure16_5.jpgbin0 -> 59036 bytes
-rwxr-xr-x46/CH17/EX17.1/Example17_1.sce27
-rwxr-xr-x46/CH17/EX17.1/figure17_1.jpgbin0 -> 67004 bytes
-rwxr-xr-x46/CH17/EX17.3/Example17_3.sce17
-rwxr-xr-x46/CH17/EX17.4/Example17_4.sce41
-rwxr-xr-x46/CH17/EX17.4/figure17_4a.jpgbin0 -> 72606 bytes
-rwxr-xr-x46/CH17/EX17.4/figure17_4b.jpgbin0 -> 73194 bytes
-rwxr-xr-x46/CH18/EX18.3/Example18_3.sce10
-rwxr-xr-x46/CH18/EX18.5/Example18_5.sce17
-rwxr-xr-x46/CH18/EX18.6/Example18_6.sce22
-rwxr-xr-x46/CH19/EX19.1/Example19_1.sce32
-rwxr-xr-x46/CH19/EX19.1/figure19_1.jpgbin0 -> 64766 bytes
-rwxr-xr-x46/CH19/EX19.2/Example19_2.sce47
-rwxr-xr-x46/CH19/EX19.2/figure19_2.jpgbin0 -> 66916 bytes
-rwxr-xr-x46/CH2/EX2.1/Example2_1.sce5
-rwxr-xr-x46/CH2/EX2.3/Example2_3.sce8
-rwxr-xr-x46/CH20/EX20.1/Example20_1.sce7
-rwxr-xr-x46/CH20/EX20.2/Example20_2.sce27
-rwxr-xr-x46/CH20/EX20.3/Example20_3.sce30
-rwxr-xr-x46/CH22/EX22.1/Example22_1.sce7
-rwxr-xr-x46/CH22/EX22.2/Example22_2.sce7
-rwxr-xr-x46/CH24/EX24.1/Example24_1.sce19
-rwxr-xr-x46/CH26/EX26.1.a/Example26_1a.sce14
-rwxr-xr-x46/CH26/EX26.1.b/Example26_2b.sce14
-rwxr-xr-x46/CH29/EX29.1/Example29_1.sce14
-rwxr-xr-x46/CH29/EX29.2/Example29_2.sce20
-rwxr-xr-x46/CH3/EX3.1/Example3_1.sce11
-rwxr-xr-x46/CH3/EX3.2/Example3_2.sce16
-rwxr-xr-x46/CH3/EX3.3/Example3_3.sce11
-rwxr-xr-x46/CH3/EX3.4/Example3_4.sce11
-rwxr-xr-x46/CH3/EX3.5/Example3_5.sce11
-rwxr-xr-x46/CH3/EX3.6/Example3_6.sce12
-rwxr-xr-x46/CH30/EX30.1/Example30_1.sce24
-rwxr-xr-x46/CH30/EX30.2/Example30_2.sce26
-rwxr-xr-x46/CH30/EX30.3/Example30_3.sce31
-rwxr-xr-x46/CH4/EX4.1/Example4_1.sce10
-rwxr-xr-x46/CH4/EX4.2/Example4_2.sce12
-rwxr-xr-x46/CH4/EX4.4/Example4_4.sce8
-rwxr-xr-x46/CH5/EX5.1/Example5_1.sce9
-rwxr-xr-x46/CH5/EX5.2/Example5_2.sce35
-rwxr-xr-x46/CH5/EX5.2/figure5_2.jpgbin0 -> 88249 bytes
-rwxr-xr-x46/CH6/EX6.1/Example6_1.sce26
-rwxr-xr-x46/CH7/EX7.1/Example7_1.sce15
59 files changed, 879 insertions, 0 deletions
diff --git a/46/CH10/EX10.1/Example10_1.sce b/46/CH10/EX10.1/Example10_1.sce
new file mode 100755
index 000000000..bf24aea7f
--- /dev/null
+++ b/46/CH10/EX10.1/Example10_1.sce
@@ -0,0 +1,19 @@
+//Example 10.1
+clear
+clc
+t1=60;//Fahrenheit
+t2=100;//Fahrenheit
+p1=3;//psi
+p2=15;//psi
+T1=71;//Fahrenheit
+T2=75;//Fahrenheit
+pb=((T2-T1)/(t2-t1))*100;
+disp('%',pb,'proportional band=')
+Gain=(p2-p1)/(T2-T1);
+disp('psi/F',Gain,'Gain=')
+//Assume pb is changed to 75% then
+pb=75;//%
+T=(pb*(t2-t1))/100;
+disp('Fahrenheit',T,'T=')
+Gain=(p2-p1)/T;
+disp('psi/F',Gain,'Gain=')
diff --git a/46/CH12/EX12.1/Example12_1.sce b/46/CH12/EX12.1/Example12_1.sce
new file mode 100755
index 000000000..e71b2cc9f
--- /dev/null
+++ b/46/CH12/EX12.1/Example12_1.sce
@@ -0,0 +1,13 @@
+//Example 12.1
+clc
+syms Gc G1 G2 G3 H1 H2 R U1;
+G=Gc*G1*G2*G3*H1*H2;
+g=Gc*G1*G2*G3/(1+G);
+disp(g,'C/R=')
+g1=G2*G3/(1+G);
+disp(g1,'C/U1=')
+g2=G3*H1*H2/(1+G);
+disp(g2,'B/U2=')
+C1=g*R;
+C2=g1*U1;
+disp(C1+C2,'C=')
diff --git a/46/CH12/EX12.2/Example12_2.sce b/46/CH12/EX12.2/Example12_2.sce
new file mode 100755
index 000000000..0b0f8d3ac
--- /dev/null
+++ b/46/CH12/EX12.2/Example12_2.sce
@@ -0,0 +1,8 @@
+//Example 12.2
+clc
+syms Gc1 Gc2 G1 G2 G3 H1 H2;
+Ga=Gc2*G1/.H2
+Gb=G2*G3
+g=Gc1*Ga*Gb/.H1;
+g=simple(g);
+disp(g,'C/R=') \ No newline at end of file
diff --git a/46/CH14/EX14.1/Example14_1.sce b/46/CH14/EX14.1/Example14_1.sce
new file mode 100755
index 000000000..dadfd2ed2
--- /dev/null
+++ b/46/CH14/EX14.1/Example14_1.sce
@@ -0,0 +1,28 @@
+//Example 14.1
+clear
+clc
+s=%s;
+G1=10*((0.5*s+1)/s);
+G2=1/(2*s+1);
+H=1;
+G=G1*G2*H
+//The characteristic equation is therefore
+disp('1+G=0')
+disp('=0',1+G,'1+G=');
+//which is equivalent to
+disp("s^2+3*s+5=0");
+h=poly([5,3,1],'s','coeff');
+r=roots(h)
+disp(r,'roots=')
+//Since the real part of roots are negative, the system is stable
+n=length(r);
+c=0;
+for i=1:n
+if (real(r(i,1))<0)
+c=c+1;
+end
+end
+if(c>=1)
+printf("system is stable\n")
+else ("system is unstable")
+end \ No newline at end of file
diff --git a/46/CH14/EX14.2/Example14_2.sce b/46/CH14/EX14.2/Example14_2.sce
new file mode 100755
index 000000000..183ea422e
--- /dev/null
+++ b/46/CH14/EX14.2/Example14_2.sce
@@ -0,0 +1,18 @@
+//Example 14.2
+clear;
+clc
+h=poly([2,4,5,3,1],'s','coeff');
+r=routh_t(h)
+//Since there is no change in sign in the first column, there are no roots having positive real parts, and the system is stable.
+y=coeff(h);
+n=length(y);
+c=0;
+for i=1:n
+if (r(i,1)<0)
+c=c+1;
+end
+end
+if(c>=1)
+printf("system is unstable")
+else ("system is stable")
+end \ No newline at end of file
diff --git a/46/CH14/EX14.3/Example14_3.sce b/46/CH14/EX14.3/Example14_3.sce
new file mode 100755
index 000000000..58e2d550a
--- /dev/null
+++ b/46/CH14/EX14.3/Example14_3.sce
@@ -0,0 +1,32 @@
+//Example 14.3
+clc
+syms Kc s s3;
+G1=1/((s+1)*(0.5*s+1));
+H=3/(s+3);
+G=Kc*G1*H;
+G=simple(G);
+//The characteristic equation is therefore
+disp('1+G=0')
+disp('=0',1+G,'1+G=');
+//which is equivalent to
+disp("s^3+6*s^2+11*s+6+6*Kc=0")
+routh=[1 11;6 6+6*Kc]
+routh=[routh;-det(routh(1:2,1:2))/routh(2,1),0]
+routh=[routh;-det(routh(2:3,1:2))/routh(3,1),0]
+routh=simple(routh)
+disp('>0',routh(3,1))
+disp('Kc<10')
+Kc=10;
+routh=horner(routh,Kc);
+routh=dbl(routh)
+C=routh(2,1);
+D=routh(2,2);
+p=poly([D 0 C],'s','coeff')
+disp('6*s^2+66=0')
+r=roots(p)
+disp('=0',simple((s-r(1,1))*(s-r(2,1))*(s-s3)))
+//On comparing with the equation
+poly([6+6*Kc 11 6 1],'s','coeff')
+//we get
+s3=-6;
+printf("s1=3.3166248*i,s2=3.3166248*i,,s3=6\n") \ No newline at end of file
diff --git a/46/CH14/EX14.4/Example14_4.sce b/46/CH14/EX14.4/Example14_4.sce
new file mode 100755
index 000000000..1a8917620
--- /dev/null
+++ b/46/CH14/EX14.4/Example14_4.sce
@@ -0,0 +1,30 @@
+//Example 14.4
+clc
+s=%s;
+tau1=1;
+tau2=1/2;
+tau3=1/3;
+taui=0.25;
+Kc=5;
+n=Kc/(tau1*tau2*tau3)*(taui*s+1);
+d=taui*s*(s+(1/tau1))*(s+(1/tau2))*(s+(1/tau3));
+G=syslin('c',n/d);
+//The characteristic equation is therefore
+disp('1+G=0')
+disp('=0',1+G,'1+G=');
+//which is equivalent to
+disp("s^4+6*s^3+11*s^2+36*s+120=0")
+h=poly([120 36 11 6 1],'s','coeff')
+r=routh_t(h)
+y=coeff(h);
+n=length(y);
+c=0;
+for i=1:n
+if (r(i,1)<0)
+c=c+1;
+end
+end
+if(c>=1)
+printf("system is unstable\n")
+else ("system is stable")
+end
diff --git a/46/CH15/EX15.1/Example15_1.sce b/46/CH15/EX15.1/Example15_1.sce
new file mode 100755
index 000000000..e927db95e
--- /dev/null
+++ b/46/CH15/EX15.1/Example15_1.sce
@@ -0,0 +1,13 @@
+//Example 15.1
+clc
+s=%s;
+syms K;
+N=1;
+D=poly([-1 -2 -3],'s','roots');
+G=syslin('c',N/D);
+disp(K*G,'G=')
+evans(G)
+v=[-3.5 3.5 -6 6];
+mtlb_axis(v);
+xgrid
+
diff --git a/46/CH15/EX15.1/figure15_1.jpg b/46/CH15/EX15.1/figure15_1.jpg
new file mode 100755
index 000000000..121688b29
--- /dev/null
+++ b/46/CH15/EX15.1/figure15_1.jpg
Binary files differ
diff --git a/46/CH15/EX15.2/Example15_2.sce b/46/CH15/EX15.2/Example15_2.sce
new file mode 100755
index 000000000..55d6b37e0
--- /dev/null
+++ b/46/CH15/EX15.2/Example15_2.sce
@@ -0,0 +1,14 @@
+//Example 15.2
+clc
+s=%s;
+syms Kc;
+N=1+(2*s/3)+1/(3*s);
+D=(20*s+1)*(10*s+1)*(0.5*s+1);
+G=N/D;
+G=syslin('c',G);
+disp(Kc*G,'G=')
+clf
+evans(G)
+v=[-2.5 1 -5 5];
+mtlb_axis(v);
+xgrid \ No newline at end of file
diff --git a/46/CH15/EX15.2/figure15_2.jpg b/46/CH15/EX15.2/figure15_2.jpg
new file mode 100755
index 000000000..faa7f45b3
--- /dev/null
+++ b/46/CH15/EX15.2/figure15_2.jpg
Binary files differ
diff --git a/46/CH16/EX16.1/Example16_1.sce b/46/CH16/EX16.1/Example16_1.sce
new file mode 100755
index 000000000..fc4d8ddd7
--- /dev/null
+++ b/46/CH16/EX16.1/Example16_1.sce
@@ -0,0 +1,14 @@
+//Example 16.1
+clc
+s=%s;
+j=%i;
+f=10/%pi;
+w=2*%pi*f;
+G=1/(0.1*s+1);
+s=w*j;
+Gs=horner(G,s);
+disp(Gs,'G(20j)=')
+[r,theta]=polar(Gs)
+theta=theta*180/%pi;
+disp('degrees',theta,'theta=')
+
diff --git a/46/CH16/EX16.2/Example16_2.sce b/46/CH16/EX16.2/Example16_2.sce
new file mode 100755
index 000000000..5dcd03dbb
--- /dev/null
+++ b/46/CH16/EX16.2/Example16_2.sce
@@ -0,0 +1,16 @@
+//Example 16.2
+clc
+syms tau s zeta w;
+j=%i;
+n=1;
+d=tau^2*s^2+2*zeta*tau*s+1;
+G=n/d
+s=j*w;
+G=1/(2*s*tau*zeta+s^2*tau^2+1)
+[num den]=numden(G)
+d=abs(den)
+cof_a_0=coeffs(den,'%i',0)
+cof_a_1=coeffs(den,'%i',1)
+AR=1/d
+theta=AR*atan(-cof_a_1/cof_a_0);
+disp(theta,'Phase angle=') \ No newline at end of file
diff --git a/46/CH16/EX16.4/Example16_4.sce b/46/CH16/EX16.4/Example16_4.sce
new file mode 100755
index 000000000..d4f104071
--- /dev/null
+++ b/46/CH16/EX16.4/Example16_4.sce
@@ -0,0 +1,12 @@
+//Example 16.4
+clc
+s=%s;
+H=1/(s+1);
+Hs=syslin('c',H)
+J=1/(s+5);
+Js=syslin('c',J)
+G=Hs*Js;
+Gs=syslin('c',G)
+clf
+bode([Hs;Js;Gs;])
+legend(['1/(s+1)';'1/(s/5+1)';'1/(5*(s+1)*(s/5+1))'])
diff --git a/46/CH16/EX16.4/figure16_4.jpg b/46/CH16/EX16.4/figure16_4.jpg
new file mode 100755
index 000000000..2b7cf5a80
--- /dev/null
+++ b/46/CH16/EX16.4/figure16_4.jpg
Binary files differ
diff --git a/46/CH16/EX16.5/Example16_5.sce b/46/CH16/EX16.5/Example16_5.sce
new file mode 100755
index 000000000..d9e951dce
--- /dev/null
+++ b/46/CH16/EX16.5/Example16_5.sce
@@ -0,0 +1,9 @@
+//Example 16.5
+clc
+s=poly(0,'s');
+disp("G=10*(0.5*s+1)*exp(-s/10)/(((s+1)^2)*(0.1*s+1))")
+printf("exp(-0.1*s)=(2-0.1*s)/(2+0.1*s)\n)")
+G=10*(0.5*s+1)*(2-0.1*s)/(((s+1)^2)*(0.1*s+1)*(2+0.1*s));
+Gs=syslin('c',G)
+clf
+bode(Gs)
diff --git a/46/CH16/EX16.5/figure16_5.jpg b/46/CH16/EX16.5/figure16_5.jpg
new file mode 100755
index 000000000..7388a021a
--- /dev/null
+++ b/46/CH16/EX16.5/figure16_5.jpg
Binary files differ
diff --git a/46/CH17/EX17.1/Example17_1.sce b/46/CH17/EX17.1/Example17_1.sce
new file mode 100755
index 000000000..b649134cf
--- /dev/null
+++ b/46/CH17/EX17.1/Example17_1.sce
@@ -0,0 +1,27 @@
+//Example 17.1
+clc
+s=%s;
+syms Kc
+tau=1;
+taum=1;
+wC=1;
+g1=Kc;
+g2=1/(s+1);
+g3=1/(s+1);
+G1=g2*g3;
+G1=syslin('c',G1)
+G=g1*g2/.g3;
+disp(G,'C(s)/R(s)=')
+//This equation can be written in the form of Kc*(s+1)/((1+Kc)*(tau2^2*s^2+2*tau2*zeta2*s+1)
+tau2=sqrt(1/(1+Kc))
+zeta2=sqrt(1/(1+Kc))
+clf
+bode(G1)
+show_margins(G1)
+//To make the open loop gain 1 at w=4
+phaseangle=-152//degrees
+phasemargin=180+phaseangle//degrees
+//At this phase margin, the gain margin is
+A=0.062//gain margin
+Kc=1/A
+zeta2=dbl(zeta2)
diff --git a/46/CH17/EX17.1/figure17_1.jpg b/46/CH17/EX17.1/figure17_1.jpg
new file mode 100755
index 000000000..642c9b62f
--- /dev/null
+++ b/46/CH17/EX17.1/figure17_1.jpg
Binary files differ
diff --git a/46/CH17/EX17.3/Example17_3.sce b/46/CH17/EX17.3/Example17_3.sce
new file mode 100755
index 000000000..aa966f96e
--- /dev/null
+++ b/46/CH17/EX17.3/Example17_3.sce
@@ -0,0 +1,17 @@
+//Example 17.3
+clc;
+syms Kc tauI s;
+g1=Kc*(1+1/(tauI*s));
+g2=1/(s+1);
+g2=exp(-1.02*s)
+G=g1*g2*g3//Openloop transfer function
+//By solving the equation -180=-atan(w)-57.3*1.02*w, we get
+wc0=2;//rad/min
+disp('AR=Kcu/sqrt(1+wc0^2)')
+AR=1;
+Kcu=AR*sqrt(1+wc0^2);
+//From Ziegler-Nicholas rules
+Kc=Kcu*0.45//ultimate gain
+Pu=2*%pi/wc0;//ultimate period
+tauI=Pu/1.2;
+disp('min',tauI,'tauI=') \ No newline at end of file
diff --git a/46/CH17/EX17.4/Example17_4.sce b/46/CH17/EX17.4/Example17_4.sce
new file mode 100755
index 000000000..1a2e58d94
--- /dev/null
+++ b/46/CH17/EX17.4/Example17_4.sce
@@ -0,0 +1,41 @@
+//Example 17.4
+clc
+s=%s;
+syms Kc K1 tauI tauD
+K=0.09;
+Kc=K1/K;
+Gc=K1*(1+1/(tauI*s)+tauD*s)
+g1=1/((s+1)*(s+2));
+//g2=exp(-0.5*s), we can write it as g2=(2-0.5*s)/(2+0.5*s). Therefore,
+g2=(2-0.5*s)/(2+0.5*s);
+G=g1*g2;
+G=syslin('c',G)
+clf
+bode(G)
+show_margins(G)
+//From the bode diagrams we get
+wc0=1.56;//rad/min
+A=0.145;
+Ku=1/A
+Pu=2*%pi/wc0
+//By Z-N rules
+//For P controller
+K1=0.5*Ku
+Gc=K1
+G1=Gc*G/K1
+//For PI controller
+K1=0.45*Ku
+tauI=Pu/1.2
+Gc=K1*(1+1/(tauI*s))
+G2=Gc*G/K1
+//For PID controller
+K1=0.6*Ku
+tauI=Pu/2
+tauD=Pu/8
+Gc=K1*(1+1/(tauI*s)+tauD*s)
+G3=Gc*G/K1
+clf
+bode([G1;G2;G3])
+legend(['G1';'G2';'G3']);
+
+
diff --git a/46/CH17/EX17.4/figure17_4a.jpg b/46/CH17/EX17.4/figure17_4a.jpg
new file mode 100755
index 000000000..f416d1dc9
--- /dev/null
+++ b/46/CH17/EX17.4/figure17_4a.jpg
Binary files differ
diff --git a/46/CH17/EX17.4/figure17_4b.jpg b/46/CH17/EX17.4/figure17_4b.jpg
new file mode 100755
index 000000000..6dbafe2d3
--- /dev/null
+++ b/46/CH17/EX17.4/figure17_4b.jpg
Binary files differ
diff --git a/46/CH18/EX18.3/Example18_3.sce b/46/CH18/EX18.3/Example18_3.sce
new file mode 100755
index 000000000..ff0e6c006
--- /dev/null
+++ b/46/CH18/EX18.3/Example18_3.sce
@@ -0,0 +1,10 @@
+//Example 18.3
+clc
+s=%s;
+Kf=-1;
+tp=2;
+//Applying feedforward control rules
+T1=1.5*tp
+T2=0.7*tp
+Gfs=Kf*(T1*s+1)/(T2*s+1);
+disp(Gfs,'Gf(s)=')
diff --git a/46/CH18/EX18.5/Example18_5.sce b/46/CH18/EX18.5/Example18_5.sce
new file mode 100755
index 000000000..9067b8fba
--- /dev/null
+++ b/46/CH18/EX18.5/Example18_5.sce
@@ -0,0 +1,17 @@
+//Example 18.5
+clc
+syms K tau s l;
+Gm=K/(tau*s+1);
+//For this case
+Gma=1;
+Gmm=K/(tau*s+1);
+Gm=Gma*Gmm;
+GI=1/Gmm
+f=1/(l*s+1);
+//In order to be able to implement this transfer function let f(s)=1/(l*s+1)
+//Thus IMC becomes
+GI=f/Gmm
+Gc=GI/(1-GI*Gm)
+//On simplification, it will be in the form of
+Gc=tau*(1+1/(tau*s))/(l*s*K)
+printf("The result is in the form of PI controller") \ No newline at end of file
diff --git a/46/CH18/EX18.6/Example18_6.sce b/46/CH18/EX18.6/Example18_6.sce
new file mode 100755
index 000000000..663248075
--- /dev/null
+++ b/46/CH18/EX18.6/Example18_6.sce
@@ -0,0 +1,22 @@
+//Example
+clc
+syms K taud s tau t
+G=K*exp(-taud*s)/(tau*s+1)
+//we can use an approximation that
+printf("exp(-taud*s)=(2-taud*s/2)/(2+taud*s)\n")
+Gm=K*(2-taud*s/2)/((2+taud*s)*(tau*s+1));//here Gm=G
+//For this model
+Gma=(2-taud*s/2)/(2+taud*s);
+Gmm=K/(tau*s+1);
+Gm=Gma*Gmm;
+GI=1/Gmm
+f=1/(l*s+1);
+//In order to be able to implement this transfer function let f(s)=1/(l*s+1)
+//Thus IMC becomes
+GI=f/Gmm
+Gc=GI/(1-GI*Gm)
+//This may be reduced algebraically to the form given by Eq.(18.21) with
+printf("Kc=(2*tau+taud)/(2*l+taud)\n")
+printf("tauI=tau+taud/2\n")
+printf("tau*taud)/(2*tau+taud)\n")
+printf("tau1=l*taud/2*(l+taud)\n")
diff --git a/46/CH19/EX19.1/Example19_1.sce b/46/CH19/EX19.1/Example19_1.sce
new file mode 100755
index 000000000..2a0724ab2
--- /dev/null
+++ b/46/CH19/EX19.1/Example19_1.sce
@@ -0,0 +1,32 @@
+//Example 19.1
+clc
+s=poly(0,'s');
+syms tauI Kc
+Gc=1+1/(tauI*s);
+g1=1/(s+1);
+//g2=exp(-s);
+//we can write exp(-s) as (2-s)/(2+s).Therefore,
+g2=(2-s)/(2+s);
+G=g1*g2;
+G=syslin('c',G)
+Gp=Kc*Gc*G
+Gs=Gp/(1+Gp)//Overall transfer function
+//Ziegler Nicholas method
+scf(1);
+clf
+bode(G)
+show_margins(G)
+//From bode diagrams we get
+wc0=2.03
+Kcu=2.26
+Pu=2*%pi/wc0
+//Since Gc is a PI controller, by Z-N rules
+Kc=0.45*Kcu
+tauI=Pu/1.2
+//Cohen-Coon method
+//Comaparing G with Eq.(19.6), we get
+T=1;
+Td=1;
+Kp=1;
+Kc=T*(0.9+Td/(12*T))/(Kp*Td)
+tauI=Td*(30+3*Td/T)/(9+20*Td/T)
diff --git a/46/CH19/EX19.1/figure19_1.jpg b/46/CH19/EX19.1/figure19_1.jpg
new file mode 100755
index 000000000..a64bd748e
--- /dev/null
+++ b/46/CH19/EX19.1/figure19_1.jpg
Binary files differ
diff --git a/46/CH19/EX19.2/Example19_2.sce b/46/CH19/EX19.2/Example19_2.sce
new file mode 100755
index 000000000..126b65204
--- /dev/null
+++ b/46/CH19/EX19.2/Example19_2.sce
@@ -0,0 +1,47 @@
+//Example 19.2
+clc
+s=%s;
+syms t Kc tauI;
+Gc=Kc*(1+1/(tauI*s))
+G=1/(s+1)^4;
+G=syslin('c',G)
+Gs=Gc*G/(1+Gc*G)//Overall transfer function
+Us=1/s;
+Cs=G*Us;
+//Cohen-Coon method
+Ct=ilaplace(Cs,s,t)
+Ct1=diff(Ct,t)
+Ct2=diff(Ct1,t)
+disp('=0',Ct2)
+//On solving the equation we get
+t=linsolve(-1,3)
+S=dbl(Ct1)
+C3=dbl(Ct)
+//From the figure 19.10 (B Vs t)
+y2=0.353;
+y1=0;
+x2=3;
+Td=3-(y2-y1)/S
+Bu=1;//ultimate value of B
+//From Eq.(19.4)
+T=Bu/S
+Kp=1;
+//From Table 19.2
+Kc=T*(0.9+Td/(12*T))/(Kp*Td)
+tauI=Td*(30+3*Td/T)/(9+20*Td/T)
+//By Z-N method
+clf
+bode(G)
+show_margins(G)
+//From Bode diagrams we get
+Kcu=4;
+Pu=2*%pi;
+//Since Gc is a PI controller, by Z-N rules
+Kc=0.45*Kcu
+tauI=Pu/1.2
+//By fitting the process reaction curve to a first order wit transport lag model by means of a least square fitting procedure. Applying the least square fit procedure out to t=5 produced the following results
+Td=1.5;
+T=3;
+//By applying Cohen-Coon rules, we get
+Kc=T*(0.9+Td/(12*T))/(Kp*Td)
+tauI=Td*(30+3*Td/T)/(9+20*Td/T)
diff --git a/46/CH19/EX19.2/figure19_2.jpg b/46/CH19/EX19.2/figure19_2.jpg
new file mode 100755
index 000000000..366297af9
--- /dev/null
+++ b/46/CH19/EX19.2/figure19_2.jpg
Binary files differ
diff --git a/46/CH2/EX2.1/Example2_1.sce b/46/CH2/EX2.1/Example2_1.sce
new file mode 100755
index 000000000..6b24ada8d
--- /dev/null
+++ b/46/CH2/EX2.1/Example2_1.sce
@@ -0,0 +1,5 @@
+//Example 2.1
+syms t s;
+fs=laplace('1',t,s);
+disp(fs,'f(s)=')
+
diff --git a/46/CH2/EX2.3/Example2_3.sce b/46/CH2/EX2.3/Example2_3.sce
new file mode 100755
index 000000000..f6a27ffea
--- /dev/null
+++ b/46/CH2/EX2.3/Example2_3.sce
@@ -0,0 +1,8 @@
+//Example 2.3
+clc
+s=%s;
+xs=2/(s+3);
+disp(xs,'x(s)=')
+syms t;
+xt=ilaplace(xs,s,t);
+disp(xt,'x(t)=')
diff --git a/46/CH20/EX20.1/Example20_1.sce b/46/CH20/EX20.1/Example20_1.sce
new file mode 100755
index 000000000..980f81868
--- /dev/null
+++ b/46/CH20/EX20.1/Example20_1.sce
@@ -0,0 +1,7 @@
+//Example 20.1
+clc
+Cv=4;
+G=1.26;
+P=100;//psi
+q=Cv*sqrt(P/G);
+disp('gpm',q,'q=')
diff --git a/46/CH20/EX20.2/Example20_2.sce b/46/CH20/EX20.2/Example20_2.sce
new file mode 100755
index 000000000..d57275982
--- /dev/null
+++ b/46/CH20/EX20.2/Example20_2.sce
@@ -0,0 +1,27 @@
+//Example 20.2
+clc
+L=100;//ft
+D=1;//ft
+D1=D/12;//inches
+D2=D1*2.42;//centimetres
+rho=62.4;//lb/ft^3
+mu=1.5;//cp
+Cv=4;
+pv=100;//psi
+G=1;
+q=Cv*sqrt(pv/G);//maximum flow
+disp('gpm',q,'q=')
+printf("Let us start flow from q=30 gpm\n")
+q=30;//gpm
+q1=q/(60*7.48);//ft^3/sec
+q2=q1*60*60;//ft^3/hr
+Re=4*q2*rho/(%pi*mu*D2)//Reynolds number
+//For this value of Reynolds number and for smooth pipe fanning friction factor is 0.005
+f=0.005;//fanning friction factor
+gc=32.2;
+p=32*f*L*rho*q1^2/(144*%pi^2*gc*D1^5);//psi
+P=pv-p
+qmax=Cv*sqrt(P/G);
+disp('gpm',qmax,'qmax=')
+x=q/qmax//lift
+
diff --git a/46/CH20/EX20.3/Example20_3.sce b/46/CH20/EX20.3/Example20_3.sce
new file mode 100755
index 000000000..e0525bf49
--- /dev/null
+++ b/46/CH20/EX20.3/Example20_3.sce
@@ -0,0 +1,30 @@
+//Example 20.3
+clc
+L=200;//ft
+D=1;//ft
+D1=D/12;//inches
+D2=D1*2.42;//centimetres
+rho=62.4;//lb/ft^3
+mu=1.5;//cp
+pv=100;//psi
+G=1;
+q=30;//maximum flow
+disp('gpm',30,'q=')
+q1=q/(60*7.48);//ft^3/sec
+q2=q1*60*60;//ft^3/hr
+Re=4*q2*rho/(%pi*mu*D2)//Reynolds number
+//For this value of Reynolds number and for smooth pipe fanning friction factor is 0.005
+f=0.005;//fanning friction factor
+gc=32.2;
+p=32*f*L*rho*q1^2/(144*%pi^2*gc*D1^5);//psi
+P=pv-p
+Cv=q/sqrt(P/G)
+//For q=20
+q=20;//gpm
+q1=q/(60*7.48);//ft^3/sec
+p=32*f*L*rho*q1^2/(144*%pi^2*gc*D1^5);//psi
+P=pv-p
+qmax=Cv*sqrt(P/G);
+disp('gpm',qmax,'qmax=')
+x=q/qmax//lift
+
diff --git a/46/CH22/EX22.1/Example22_1.sce b/46/CH22/EX22.1/Example22_1.sce
new file mode 100755
index 000000000..37d76c1e6
--- /dev/null
+++ b/46/CH22/EX22.1/Example22_1.sce
@@ -0,0 +1,7 @@
+//Example 22.1
+clc
+disp("f(t)=u(t)=1")
+disp("f(nT)=1")//for n>=0
+syms z n
+//From Eq.(22.8)
+Z=symsum(z^(-n),n,0,%inf) \ No newline at end of file
diff --git a/46/CH22/EX22.2/Example22_2.sce b/46/CH22/EX22.2/Example22_2.sce
new file mode 100755
index 000000000..52a091137
--- /dev/null
+++ b/46/CH22/EX22.2/Example22_2.sce
@@ -0,0 +1,7 @@
+//Example 22.2
+clc
+syms T tau z n
+disp("f(t)=exp(-t/tau)")
+ft=exp(-n*T/tau)*z^(-n);
+Z=symsum(ft,n,0,%inf)
+
diff --git a/46/CH24/EX24.1/Example24_1.sce b/46/CH24/EX24.1/Example24_1.sce
new file mode 100755
index 000000000..ef339d7e0
--- /dev/null
+++ b/46/CH24/EX24.1/Example24_1.sce
@@ -0,0 +1,19 @@
+//Example 24.1
+clc
+syms K b z w;
+Gz=K*(1-b)/(z-b)
+//where b=exp(-T/tau)
+//From Eq.(24.4)
+z=w+1/w-1;
+Gz=eval(Gz)
+disp('=0',1+Gz,'1+G(z)=')
+//which is equivalent to
+disp('(K+1)*(1-b)*w+(1+b)-K(1-b)=0')
+routh=[(K+1)*(1-b);(1+b)-K*(1-b)]
+//b is always positive and less than one and K is positive
+//The first element in the array is positive
+//For stability, the Routh test requires that all elements of the first column be positive
+//Therefore,
+disp('>0',routh(2,1))
+disp('K<(1+b)/(1-b)')
+
diff --git a/46/CH26/EX26.1.a/Example26_1a.sce b/46/CH26/EX26.1.a/Example26_1a.sce
new file mode 100755
index 000000000..c8f7cecd4
--- /dev/null
+++ b/46/CH26/EX26.1.a/Example26_1a.sce
@@ -0,0 +1,14 @@
+//Example 26.1(a)
+clc
+T=1;
+tau=1.25;
+b=exp(-T/tau)
+//For quarter decay ratio
+alpha=0.5
+K=(alpha+b)/(1-b)
+//Ultimate value of C is
+Ci=K/(K+1);
+disp(Ci,'C(inf)=')
+Ri=1;
+Offset=Ri-Ci
+Period=2*T
diff --git a/46/CH26/EX26.1.b/Example26_2b.sce b/46/CH26/EX26.1.b/Example26_2b.sce
new file mode 100755
index 000000000..22b82525a
--- /dev/null
+++ b/46/CH26/EX26.1.b/Example26_2b.sce
@@ -0,0 +1,14 @@
+//Example 26.1(a)
+clc
+T=0.5;
+tau=1.25;
+b=exp(-T/tau)
+//For quarter decay ratio
+alpha=0.5
+K=(alpha+b)/(1-b)
+//Ultimate value of C is
+Ci=K/(K+1);
+disp(Ci,'C(inf)=')
+Ri=1;
+Offset=Ri-Ci
+Period=2*T
diff --git a/46/CH29/EX29.1/Example29_1.sce b/46/CH29/EX29.1/Example29_1.sce
new file mode 100755
index 000000000..14ab3d8b2
--- /dev/null
+++ b/46/CH29/EX29.1/Example29_1.sce
@@ -0,0 +1,14 @@
+//Example 29.1
+clc
+syms t tau
+A=[-1 1;0 -2]
+B=[0;1]
+x0=[-1;0]
+printf("x1=Ax+Bu(t)")
+//On solving given equation
+//let X=exp(A*t)
+X=[exp(-t) exp(-t)-exp(-2*t);0 exp(-2*t)]
+//Y=exp(A*(t-tau))
+Y=[exp(-(t-tau) ) exp(-(t-tau))-exp(-2*(t-tau));0 exp(-2*(t-tau))]
+//From Eq.(29.4)
+xt=X*x0+integ(Y*B,tau,0,t) \ No newline at end of file
diff --git a/46/CH29/EX29.2/Example29_2.sce b/46/CH29/EX29.2/Example29_2.sce
new file mode 100755
index 000000000..04e6796a9
--- /dev/null
+++ b/46/CH29/EX29.2/Example29_2.sce
@@ -0,0 +1,20 @@
+//Example 29.2
+clc
+A=[-2 0;4 -3]
+B=[1 0;0 2]
+syms s H1s H2s U1s U2s
+I=eye(2,2)
+Gs=inv(s*I-A)*B
+Hs=[H1s;H2s]
+Us=[U1s;U2s]
+Hs=Gs*Us
+//On comparing
+H1s=Hs(1,1)
+H2s=Hs(2,1)
+U2s=0;
+U1s=1/s;
+H1s=eval(H1s)
+H2s=eval(H2s)
+//On inverse laplace transformations
+H1t=ilaplace(H1s,s,t)
+H2s=ilaplace(H2s,s,t)
diff --git a/46/CH3/EX3.1/Example3_1.sce b/46/CH3/EX3.1/Example3_1.sce
new file mode 100755
index 000000000..5e93b70b1
--- /dev/null
+++ b/46/CH3/EX3.1/Example3_1.sce
@@ -0,0 +1,11 @@
+//Example 3.1
+clc
+s=%s;
+xs=1/(s*(s+1));
+disp(xs,'x(s)=')
+syms t;
+[A]=pfss(xs)
+F1=ilaplace(A(1),s,t);
+F2=ilaplace(A(2),s,t);
+xt=F1+F2;
+disp(xt,'x(t)=')
diff --git a/46/CH3/EX3.2/Example3_2.sce b/46/CH3/EX3.2/Example3_2.sce
new file mode 100755
index 000000000..acda68807
--- /dev/null
+++ b/46/CH3/EX3.2/Example3_2.sce
@@ -0,0 +1,16 @@
+//Example 3.2
+clc
+s=%s;
+syms t;
+num=poly([-8 9 -6 0 1],'s','coeff');
+den=s*(s-2)*poly([-2 -1 2 1],'s','coeff');
+xs=syslin('c',num/den);
+disp(xs,'x(s)=')
+A=pfss(xs)
+F1=ilaplace(A(1),s,t);
+F2=ilaplace(A(2),s,t);
+F3=ilaplace(A(3),s,t);
+F4=ilaplace(A(4),s,t);
+F5=ilaplace(A(5),s,t);
+xt=F1+F2+F3+F4+F5;
+disp(xt,'x(t)=')
diff --git a/46/CH3/EX3.3/Example3_3.sce b/46/CH3/EX3.3/Example3_3.sce
new file mode 100755
index 000000000..7f1a273ab
--- /dev/null
+++ b/46/CH3/EX3.3/Example3_3.sce
@@ -0,0 +1,11 @@
+//Example 3.3
+clc
+s=%s;
+syms t;
+xs=2/(s*(s^2+2*s+2));
+disp(xs,'x(s)=')
+[A]=pfss(xs)
+F1=ilaplace(A(1),s,t);
+F2=ilaplace(A(2),s,t);
+xt=F1+F2;
+disp(xt,'x(t)=')
diff --git a/46/CH3/EX3.4/Example3_4.sce b/46/CH3/EX3.4/Example3_4.sce
new file mode 100755
index 000000000..78ce8c22c
--- /dev/null
+++ b/46/CH3/EX3.4/Example3_4.sce
@@ -0,0 +1,11 @@
+//Example 3.4
+clc
+s=%s;
+syms t;
+xs=2/((s^2+4)*(s+1));
+disp(xs,'x(s)=')
+[A]=pfss(xs)
+F1=ilaplace(A(1),s,t);
+F2=ilaplace(A(2),s,t);
+xt=F1+F2;
+disp(xt,'x(t)=') \ No newline at end of file
diff --git a/46/CH3/EX3.5/Example3_5.sce b/46/CH3/EX3.5/Example3_5.sce
new file mode 100755
index 000000000..b65e49736
--- /dev/null
+++ b/46/CH3/EX3.5/Example3_5.sce
@@ -0,0 +1,11 @@
+//Example 3.5
+clc
+s=%s;
+syms t;
+xs=1/(s*(s^2-2*s+5));
+disp(xs,'x(s)=')
+[A]=pfss(xs)
+F1=ilaplace(A(1),s,t);
+F2=ilaplace(A(2),s,t);
+xt=F1+F2;
+disp(xt,'x(t)=') \ No newline at end of file
diff --git a/46/CH3/EX3.6/Example3_6.sce b/46/CH3/EX3.6/Example3_6.sce
new file mode 100755
index 000000000..a841414de
--- /dev/null
+++ b/46/CH3/EX3.6/Example3_6.sce
@@ -0,0 +1,12 @@
+//Example 3.6
+clc
+s=%s;
+syms t;
+xs=1/(s*(s^3+3*s^2+3*s+1));
+disp(xs,'x(s)=')
+[A]=pfss(xs)
+F1=ilaplace(A(1),s,t);
+F2=ilaplace(A(2),s,t);
+xt=F1+F2;
+disp(xt,'x(t)=')
+
diff --git a/46/CH30/EX30.1/Example30_1.sce b/46/CH30/EX30.1/Example30_1.sce
new file mode 100755
index 000000000..04d59a57e
--- /dev/null
+++ b/46/CH30/EX30.1/Example30_1.sce
@@ -0,0 +1,24 @@
+//Example 30.1
+clc
+A1=1;
+A2=1/2;
+R1=1/2;
+R2=2;
+R3=1;
+A=[-1/(R1*A1)-1/(R3*A1) 1/(A1*R1);1/(R1*A2) -1/(R2*A2)-1/(A2*R1)]
+B=[1/A1 0;0 1/A2]
+syms s M1 M2;
+I=eye(2,2)
+Gp=inv(s*I-A)*B
+G11=Gp(1,1)
+G12=Gp(1,2)
+G21=Gp(2,1)
+G22=Gp(2,2)
+M=[M1;M2]
+Cs=inv(s*I-A)*B*M
+M1=1/s;
+M2=0;
+Cs=eval(Cs)
+M1=0;
+M2=1/s;
+Cs=eval(Cs) \ No newline at end of file
diff --git a/46/CH30/EX30.2/Example30_2.sce b/46/CH30/EX30.2/Example30_2.sce
new file mode 100755
index 000000000..216f176ef
--- /dev/null
+++ b/46/CH30/EX30.2/Example30_2.sce
@@ -0,0 +1,26 @@
+//Example 30.2
+clc
+syms s K1 K2
+Gc11=K1;
+Gc22=K2;
+A1=1;
+A2=1/2;
+R2=2;
+R3=1;
+//In this problem ,Gv is a unit diagonal matrix i.e.,
+Gv1=1;
+Gv2=1;
+A=[-1/(R1*A1)-1/(R3*A1) 1/(A1*R1);1/(R1*A2) -1/(R2*A2)-1/(A2*R1)]
+B=[1/A1 0;0 1/A2]
+I=eye(2,2)
+Gp=inv(s*I-A)*B
+G11=Gp(1,1)
+G12=Gp(1,2)
+G21=Gp(2,1)
+G22=Gp(2,2)
+Gc12=-G12*Gv2*Gc22/(G11*Gv1)
+Gc21=-G21*Gv1*Gc11/(G22*Gv2)
+Gv=[Gv1 0;0 Gv2]
+Gc=[Gc11 Gc12;Gc21 Gc22]
+Go=Gp*Gv*Gc;
+Go=simple(Go) \ No newline at end of file
diff --git a/46/CH30/EX30.3/Example30_3.sce b/46/CH30/EX30.3/Example30_3.sce
new file mode 100755
index 000000000..77fc98570
--- /dev/null
+++ b/46/CH30/EX30.3/Example30_3.sce
@@ -0,0 +1,31 @@
+//Example 30.3
+clc
+A1=1;
+A2=1/2;
+R1=1/2;
+R2=2;
+R3=1;
+Gc11=K1;
+Gc22=K2;
+Gc12=0;
+Gc21=0;
+A=[-1/(R1*A1)-1/(R3*A1) 1/(A1*R1);1/(R1*A2) -1/(R2*A2)-1/(A2*R1)]
+B=[1/A1 0;0 1/A2]
+syms s;
+I=eye(2,2)
+Gp=inv(s*I-A)*B
+G11=Gp(1,1)
+G12=Gp(1,2)
+G21=Gp(2,1)
+G22=Gp(2,2)
+Gv1=1;
+Gv2=1;
+Gm=I
+Gv=[Gv1 0;0 Gv2]
+Gc=[Gc11 Gc12;Gc21 Gc22]
+Go=Gp*Gv*Gc;
+Go=simple(Go)
+//From Eq.(30.32)
+P=det(I+Go*Gm)
+disp('=0',simple(P))
+
diff --git a/46/CH4/EX4.1/Example4_1.sce b/46/CH4/EX4.1/Example4_1.sce
new file mode 100755
index 000000000..68cec8dfb
--- /dev/null
+++ b/46/CH4/EX4.1/Example4_1.sce
@@ -0,0 +1,10 @@
+//Example 4.1
+clc
+s=%s;
+num=poly(1,'s','coeff');
+den=s*poly([1 3 3 1],'s','coeff');
+xs=num/den;
+disp(xs,'xs=')
+syms s;
+xt=limit(s*xs,s,0);//final value theorem
+disp(xt,'x(t)=') \ No newline at end of file
diff --git a/46/CH4/EX4.2/Example4_2.sce b/46/CH4/EX4.2/Example4_2.sce
new file mode 100755
index 000000000..94ce2e3c0
--- /dev/null
+++ b/46/CH4/EX4.2/Example4_2.sce
@@ -0,0 +1,12 @@
+//Example 4.2
+clc
+s=%s;
+num=poly([-8 0 9 -6 1],'s','coeff');
+den=s*(s-2)*poly([-2 -1 2 1],'s','coeff')
+xs=num/den;
+disp(xs,'x(s)=')
+disp(s*xs,'s*x(s)=')
+[A]=pfss(s*xs)
+printf("since xs becomes infinite for s=1 and s=2, the conditions of the final value theorem are not satisfied\n")
+printf("Final value theorem is not applicable \n")
+
diff --git a/46/CH4/EX4.4/Example4_4.sce b/46/CH4/EX4.4/Example4_4.sce
new file mode 100755
index 000000000..4b675b8f7
--- /dev/null
+++ b/46/CH4/EX4.4/Example4_4.sce
@@ -0,0 +1,8 @@
+//Example 4.4
+clc
+syms t s a k;
+xt=laplace('%e^(-a*t)*cos(k*t)',t,s);
+disp(xt,'x(t)=')
+x
+
+
diff --git a/46/CH5/EX5.1/Example5_1.sce b/46/CH5/EX5.1/Example5_1.sce
new file mode 100755
index 000000000..5f5368ba0
--- /dev/null
+++ b/46/CH5/EX5.1/Example5_1.sce
@@ -0,0 +1,9 @@
+//Example 5.1
+tau=0.1;//min
+xs=90;//degrees
+A=10;//degrees
+Y_inf=10;//degrees
+Y_t=8;//degrees
+//Substituting into Eq.(5.12) the appropriate values of Y_t,A,and tau gives
+t=-0.1*logm(1-(Y_t/A));//min
+disp('min',t,'time=') \ No newline at end of file
diff --git a/46/CH5/EX5.2/Example5_2.sce b/46/CH5/EX5.2/Example5_2.sce
new file mode 100755
index 000000000..475584914
--- /dev/null
+++ b/46/CH5/EX5.2/Example5_2.sce
@@ -0,0 +1,35 @@
+//Example 5.2
+clear
+clc
+tau=0.1;//min
+xs=100;//Fahrenheit
+ys=100;//Fahrenheit
+A=2;//Fahrenheit
+f=10/%pi;//cycles/min
+w=2*%pi*f;//rad/min
+//From Eq.(5.25), the amplitude of the response and the phase angle are calculated;thus
+disp('Fahrenheit',A/sqrt((tau*w)^2+1),'A/sqrt((tau*w)^2+1)=')
+phi=atan(-w*tau);//radians
+phi=phi*180/%pi;//degrees
+disp('degrees',phi,'phase lag=')
+t=0:0.01:1;
+//From Eq.(5.19), the input of the thermometer is therefore
+disp("X(t)=2*sin(20*t)");
+//or
+xt=xs+2*sin(20*t);
+//The response of the thermometer is therefore
+disp("Y(t)=0.8944*sin(20*t-63.4349)")
+//or
+yt=ys+0.8944*sin(20*t-63.4349);
+Lag=phi/(360*f);//min
+Lag=abs(Lag);//min
+disp('min',Lag,'Lag=')
+clf;
+plot(t,yt)
+plot(t,xt)
+xlabel('time')
+ylabel('x(t) , y(t)')
+title('x(t) , y(t) Vs time')
+xgrid
+
+
diff --git a/46/CH5/EX5.2/figure5_2.jpg b/46/CH5/EX5.2/figure5_2.jpg
new file mode 100755
index 000000000..a8b463c04
--- /dev/null
+++ b/46/CH5/EX5.2/figure5_2.jpg
Binary files differ
diff --git a/46/CH6/EX6.1/Example6_1.sce b/46/CH6/EX6.1/Example6_1.sce
new file mode 100755
index 000000000..cc04a958a
--- /dev/null
+++ b/46/CH6/EX6.1/Example6_1.sce
@@ -0,0 +1,26 @@
+//Example 6.1
+clc;
+syms s t;
+tau=1;//min
+R=1/9;//ft/cfm
+A=9;
+//from Equation 6.8
+g=R/(tau*s+1);
+disp(g,'H(s)/Q(s)=')
+//from Example 4.5
+disp('Q(t)=90[u(t)-u(t-0.1)')
+//where u(t) is a unit step function, the laplace transform of it gives
+Qs=90*(1-exp(-0.1*s))/s
+disp(Qs,'Q(s)=')
+Hs=Qs*g;
+disp(Hs,'H(s)=')
+//taking first term for t<0.1, the second term goes equals to zero
+Ht=ilaplace('10*(1/(s*(s+1)))',s,t);//t<0.1
+disp(Ht,'H(t)=')
+disp('H(t)=10(1-yexp(-(-t-0.1)))')//t>0.1
+Ht=10*((1-exp(-t))-(1-exp(-(-t-0.1))));
+disp(Ht,'H(t)=')
+//from Eq.(5.16)
+Ht=R*A*exp(-(t/tau));//impulse
+disp(Ht,'H(t)=')
+
diff --git a/46/CH7/EX7.1/Example7_1.sce b/46/CH7/EX7.1/Example7_1.sce
new file mode 100755
index 000000000..088c1ca88
--- /dev/null
+++ b/46/CH7/EX7.1/Example7_1.sce
@@ -0,0 +1,15 @@
+//Example 7.1
+clc
+s=%s;
+tau1=0.5;
+tau2=1;
+R2=1;
+//From Eq.(7.8)
+g=R2/((tau1*s+1)*(tau2*s+1))
+disp(g,'H2(s)/Q(s)=')
+Qs=1/s;
+H2s=g*Qs;
+disp(H2s,'H2(s)=')
+syms t;
+H2t=ilaplace(H2s,s,t);
+disp(H2t,'H2(t)=') \ No newline at end of file