[BACK]Return to multiplt.dem CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot / demo

Annotation of OpenXM_contrib/gnuplot/demo/multiplt.dem, Revision 1.1

1.1     ! maekawa     1: #   GNUPLOT v3.6 beta multiplot script file
        !             2: #
        !             3: # Second Order System Characteristics
        !             4: #
        !             5: #       D**2 + 2*zeta*wn*D + (wn**2)y = (wn**2)*x
        !             6: #
        !             7: #   x           input variable
        !             8: #   y           output variable
        !             9: #   w           frequency ratio (w/wn)
        !            10: #   wn          natural frequency
        !            11: #   wd          damped natural frequency
        !            12: #   zeta        damping ratio
        !            13: #   mag(w)      amplitude response
        !            14: #   phi(w)      phase response
        !            15: #   wdwn        damped natural frequency ratio
        !            16: #   wnt         normalized time
        !            17: #
        !            18: #   Plots:
        !            19: #   Frequency domain    magnitude response
        !            20: #                           phase response
        !            21: #
        !            22: #   Time domain         unit step response
        !            23: #                       unit impulse response
        !            24: #
        !            25: #
        !            26: # Created by: W. D. Kirby email: wdkirby@ix.netcom.com
        !            27: # Date: 1/18/96
        !            28: # Released to the public domain with no warranty of any kind
        !            29: #
        !            30: reset
        !            31: set function style lines
        !            32: set size 1.0, 1.0
        !            33: set origin 0.0, 0.0
        !            34: set multiplot
        !            35: set size 0.5,0.5
        !            36: set origin 0.0,0.5
        !            37: set grid
        !            38: set nokey
        !            39: set angles radians
        !            40: set samples 250
        !            41: #  Plot Magnitude Response
        !            42: set title "Second Order System Transfer Function - Magnitude"
        !            43: mag(w) = -10*log10( (1-w**2)**2 + 4*(zeta*w)**2)
        !            44: set dummy w
        !            45: set logscale x
        !            46: set xlabel "Frequency (w/wn)"
        !            47: set ylabel "Magnitude (dB)" 1,0
        !            48: set label 1 "Damping =.1,.2,.3,.4,.5,.707,1.0,2.0" at .14,17
        !            49: set xrange [.1:10]
        !            50: set yrange [-40:20]
        !            51: plot \
        !            52:   zeta=.1,mag(w), \
        !            53:   zeta=.2,mag(w), \
        !            54:   zeta=.3,mag(w), \
        !            55:   zeta=.4,mag(w), \
        !            56:   zeta=.5,mag(w), \
        !            57:   zeta=.707,mag(w), \
        !            58:   zeta=1.0,mag(w), \
        !            59:   zeta=2.0,mag(w),-6
        !            60: #  Plot Phase Response
        !            61: set size 0.5,0.5
        !            62: set origin 0.0,0.0
        !            63: set title "Second Order System Transfer Function - Phase"
        !            64: set label 1 ""
        !            65: set ylabel "Phase (deg)" 1,0
        !            66: set ytics -180, 30, 0
        !            67: set yrange [-180:0]
        !            68: tmp(w) = (-180/pi)*atan( 2*zeta*w/(1-w**2) )
        !            69: # Fix for atan function wrap problem
        !            70: tmp1(w)= w<1?tmp(w):(tmp(w)-180)
        !            71: phi(w)=zeta==1?(-2*(180/pi)*atan(w)):tmp1(w)
        !            72: plot \
        !            73:   zeta=.1,phi(w), \
        !            74:   zeta=.2,phi(w), \
        !            75:   zeta=.3,phi(w), \
        !            76:   zeta=.4,phi(w), \
        !            77:   zeta=.5,phi(w), \
        !            78:   zeta=.707,phi(w), \
        !            79:   zeta=1,phi(w), \
        !            80:   zeta=2.0,phi(w), \
        !            81:   -90
        !            82: #  Plot Step Response
        !            83: set size 0.5,0.5
        !            84: set origin 0.5,0.5
        !            85: set dummy wnt
        !            86: set nologscale x
        !            87: set title "Second Order System - Unit Step Response"
        !            88: set ylabel "Amplitude y(wnt)" 1,0
        !            89: set xlabel "Normalized Time (wnt)"
        !            90: set xrange [0:20]
        !            91: set xtics 0,5,20
        !            92: set yrange [0:2.0]
        !            93: set ytics 0, .5, 2.0
        !            94: set mytics 5
        !            95: set mxtics 10
        !            96: wdwn(zeta)=sqrt(1-zeta**2)
        !            97: shift(zeta) = atan(wdwn(zeta)/zeta)
        !            98: alpha(zeta)=zeta>1?sqrt(zeta**2-1.0):0
        !            99: tau1(zeta)=1/(zeta-alpha(zeta))
        !           100: tau2(zeta)=1/(zeta+alpha(zeta))
        !           101: c1(zeta)=(zeta + alpha(zeta))/(2*alpha(zeta))
        !           102: c2(zeta)=c1(zeta)-1
        !           103: y1(wnt)=zeta==1?1 - exp(-wnt)*(wnt + 1):0
        !           104: y2(wnt)=zeta<1?(1 - (exp(-zeta*wnt)/wdwn(zeta))*sin(wdwn(zeta)*wnt + shift(zeta))):y1(wnt)
        !           105: y(wnt)=zeta>1?1-c1(zeta)*exp(-wnt/tau1(zeta))+c2(zeta)*exp(-wnt/tau2(zeta)):y2(wnt)
        !           106: plot \
        !           107:   zeta=.1,y(wnt), \
        !           108:   zeta=.2,y(wnt), \
        !           109:   zeta=.3,y(wnt), \
        !           110:   zeta=.4,y(wnt), \
        !           111:   zeta=.5,y(wnt), \
        !           112:   zeta=.707,y(wnt), \
        !           113:   zeta=1,y(wnt), \
        !           114:   zeta=2,y(wnt)
        !           115: #
        !           116: #  Plot Impulse Response
        !           117: set origin .5,0.
        !           118: set title "Second Order System - Unit Impulse Response"
        !           119: y(wnt)=exp(-zeta*wnt) * sin(wdwn(zeta)*wnt) / wdwn(zeta)
        !           120: set yrange [-1. :1.]
        !           121: set ytics -1,.5,1.
        !           122: plot \
        !           123:   zeta=.1,y(wnt), \
        !           124:   zeta=.2,y(wnt), \
        !           125:   zeta=.3,y(wnt), \
        !           126:   zeta=.4,y(wnt), \
        !           127:   zeta=.5,y(wnt), \
        !           128:   zeta=.707,y(wnt), \
        !           129:   zeta=1,y(wnt), \
        !           130:   zeta=2,y(wnt)
        !           131: set nomultiplot
        !           132: #
        !           133: #  Clean up: reset parameter defaults
        !           134: #
        !           135: reset

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>