From 7f60ea012dd2524dae921a2a35adbf7ef21f2bb6 Mon Sep 17 00:00:00 2001 From: prashantsinalkar Date: Tue, 10 Oct 2017 12:27:19 +0530 Subject: initial commit / add all books --- 3432/CH9/EX9.12/Ex9_12.sce | 75 ++++++++++++++++++++++++++++++++++++++++++ 3432/CH9/EX9.12/Ex9_12_f0.pdf | Bin 0 -> 29478 bytes 3432/CH9/EX9.12/Ex9_12_f1.pdf | Bin 0 -> 16936 bytes 3 files changed, 75 insertions(+) create mode 100644 3432/CH9/EX9.12/Ex9_12.sce create mode 100644 3432/CH9/EX9.12/Ex9_12_f0.pdf create mode 100644 3432/CH9/EX9.12/Ex9_12_f1.pdf (limited to '3432/CH9/EX9.12') diff --git a/3432/CH9/EX9.12/Ex9_12.sce b/3432/CH9/EX9.12/Ex9_12.sce new file mode 100644 index 000000000..2457c730d --- /dev/null +++ b/3432/CH9/EX9.12/Ex9_12.sce @@ -0,0 +1,75 @@ +//Example 9.12 +//Conditionally stable system. +xdel(winsid())//close all graphics Windows +clear; +clc; +//------------------------------------------------------------------ +//System transfer function and its root locus + +s=poly(0,'s'); +num=0.1; +den=(s^2+0.2*s+1)*(s); +Gs=syslin('c',num/den) + +//Nyquist plot of the system +nyquist(Gs,0.035,10) +title("Nyquist plot and describing function to determine limit... + cycle",'fontsize',3); + +f=gca(); +f.x_location = "origin" +f.y_location = "origin" +h=legend(''); +h.visible = "off" +xset("color",2); + +// Nyquist Plot of Describing Function for saturation nonlinearity. +omegat=0.05:0.05:%pi; +a=sin(omegat); +N=0.1; +k=1; + +Keq=2/%pi*(k*asin(N ./a /k)+N ./a .* sqrt(1-(N/k ./a) .^2)); +DF_nyq=-1 ./Keq; + +plot(DF_nyq,zeros(1,length(DF_nyq)),'m-.') +exec .\fig_settings.sci; //custom script for setting figure properties +zoom_rect([-0.8 -0.5 0.2 0.5]) + +//limit cycle points +plot(-0.5,0,'bo'); + +xset('font size',3) +xstring(-0.78,0.08,"limit cycle point"); +xarrows([-0.6;-0.52],[0.1;0.02],-1) +xstring(-0.62,-0.22,"$-\frac{1}{K_{eq}$"); +xarrows([-0.55;-0.55],[-0.1;0],-1) +//------------------------------------------------------------------ +//Describing Functin for saturation nonlinearity. +Keq=[] +i=1; + +for a=0:0.2:10 + if k*a/N > 1 then + Keq(i,1)=2/%pi*(k*asin(N/a/k)+N/a*sqrt(1-(N/k/a)^2)) + else + Keq(i,1)=k + end + i=i+1; +end + +a=0:0.2:10; +a=a'; + +figure, +plot(a,Keq) +xlabel('$a$'); +ylabel('$K_{eq}$'); + +xset('font size',3); +title("Describing Function for a saturation nonlinearity... + with N=0.1 and k=1",'fontsize',3); +exec .\fig_settings.sci; //custom script for setting figure properties +zoom_rect([0 0 10 1.1]) +//------------------------------------------------------------------ + diff --git a/3432/CH9/EX9.12/Ex9_12_f0.pdf b/3432/CH9/EX9.12/Ex9_12_f0.pdf new file mode 100644 index 000000000..dfc320ed0 Binary files /dev/null and b/3432/CH9/EX9.12/Ex9_12_f0.pdf differ diff --git a/3432/CH9/EX9.12/Ex9_12_f1.pdf b/3432/CH9/EX9.12/Ex9_12_f1.pdf new file mode 100644 index 000000000..465e69327 Binary files /dev/null and b/3432/CH9/EX9.12/Ex9_12_f1.pdf differ -- cgit