From f35ea80659b6a49d1bb2ce1d7d002583f3f40947 Mon Sep 17 00:00:00 2001 From: prashantsinalkar Date: Tue, 10 Oct 2017 12:38:01 +0530 Subject: updated the code --- 773/CH17/EX17.03/17_03.sci | 14 ++++++------ 773/CH18/EX18.08.01/18_08_01.sci | 12 +++++----- 773/CH8/EX8.17/8_17.sci | 47 ++++++++++++++++++++-------------------- 3 files changed, 38 insertions(+), 35 deletions(-) (limited to '773') diff --git a/773/CH17/EX17.03/17_03.sci b/773/CH17/EX17.03/17_03.sci index 3681df84b..66b3bbdd7 100755 --- a/773/CH17/EX17.03/17_03.sci +++ b/773/CH17/EX17.03/17_03.sci @@ -1,7 +1,7 @@ -//function// -s=%s; -//Creating cont-time transfer function -TFcont=syslin('c',3/(s^4+(2*s^3)+(3*s)+2)) -SScont=tf2ss(TFcont) -//CCF form -[Ac,Bc,U,ind]=canon(SScont(2),SScon(3)) +//function// +s=%s; +//Creating cont-time transfer function +TFcont=syslin('c',3/(s^4+(2*s^3)+(3*s)+2)) +SScont=tf2ss(TFcont) +//CCF form +[Ac,Bc,U,ind]=canon(SScont(2),SScont(3)) \ No newline at end of file diff --git a/773/CH18/EX18.08.01/18_08_01.sci b/773/CH18/EX18.08.01/18_08_01.sci index 3a33aec94..2bdf13a3d 100755 --- a/773/CH18/EX18.08.01/18_08_01.sci +++ b/773/CH18/EX18.08.01/18_08_01.sci @@ -1,5 +1,7 @@ -//symsum// -exec ztransfer.sce; -sequence=[0 2 0 0 -3 0 0 8] -y=ztransfer(sequence); -disp(y,"ans=") +//symsum// + function [Ztransfer]= ztransfer_new (sequence,n) + z = poly (0, 'z' , 'r' ); Ztransfer = sequence *(1/z )^n' +endfunction +sequence=[0 2 0 0 -3 0 0 8] +y=ztransfer(sequence); +disp(y,"ans=") \ No newline at end of file diff --git a/773/CH8/EX8.17/8_17.sci b/773/CH8/EX8.17/8_17.sci index 43f56c3f2..4a7f03293 100755 --- a/773/CH8/EX8.17/8_17.sci +++ b/773/CH8/EX8.17/8_17.sci @@ -1,23 +1,24 @@ -//coefficient// -s=%s; -F=syslin('c',(25)/(s^2+7*s)); //Creates transfer function in forward path -B=syslin('c',(1+0*s)/(1+0*s)); //Creates transfer function in backward path -k=20/25; //k=gain factor -CL=k*(F/.B) //Calculates closed-loop transfer function -// compare CL with Wn^2/(s^2+2*zeta*Wn+Wn^2) -y=denom(CL) //extracting the denominator of CL -z=coeff(y) //extracting the coefficients of the denominator polynomial -//Wn^2=z(1,1) ,comparing the coefficients -Wn=sqrt(z(1,1)) // Wn=natural frequency -//2*zeta*Wn=z(1,2) -zeta=z(1,2)/(2*Wn) // zeta=damping factor -Wd=Wn*sqrt(1-zeta^2) -Tp=%pi/Wd //Tp=peak time -Mp=100*exp((-%pi*zeta)/sqrt(1-zeta^2)) //peak overshoot -Td=(1+0.7*zeta)/Wn //Td=delay time -a=atan(sqrt(1-zeta^2)/zeta) -Tr=(%pi-a)/Wd //Tr=rise time -Ts=4/(zeta*Wn) //Ts=settling time -//y(t)=expression for output -y=(20/25)*(1-(exp(-1*zeta*Wn*t)/sqrt(1-zeta^2))*sin(Wd*t+atan(zeta/sqrt(1-zeta^2)))); -disp(y,"Y(t)") +//coefficient// +s=%s; +t = %t; +F=syslin('c',(25)/(s^2+7*s)); //Creates transfer function in forward path +B=syslin('c',(1+0*s)/(1+0*s)); //Creates transfer function in backward path +k=20/25; //k=gain factor +CL=k*(F/.B) //Calculates closed-loop transfer function +// compare CL with Wn^2/(s^2+2*zeta*Wn+Wn^2) +y=denom(CL) //extracting the denominator of CL +z=coeff(y) //extracting the coefficients of the denominator polynomial +//Wn^2=z(1,1) ,comparing the coefficients +Wn=sqrt(z(1,1)) // Wn=natural frequency +//2*zeta*Wn=z(1,2) +zeta=z(1,2)/(2*Wn) // zeta=damping factor +Wd=Wn*sqrt(1-zeta^2) +Tp=%pi/Wd //Tp=peak time +Mp=100*exp((-%pi*zeta)/sqrt(1-zeta^2)) //peak overshoot +Td=(1+0.7*zeta)/Wn //Td=delay time +a=atan(sqrt(1-zeta^2)/zeta) +Tr=(%pi-a)/Wd //Tr=rise time +Ts=4/(zeta*Wn) //Ts=settling time +//y(t)=expression for output +y=(20/25)*(1-(exp(-1*zeta*Wn*t)/sqrt(1-zeta^2))*sin(Wd*t+atan(zeta/sqrt(1-zeta^2)))); +disp(y,"Y(t)") \ No newline at end of file -- cgit