Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.5.2 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab Help >> CACSD (Computer Aided Control Systems Design) > Plot and display > bode

bode

Bode plot

Calling Sequence

bode(sl, [fmin, fmax] [,step] [,comments] )
bode(sl, [fmin, fmax] [,step] [,comments] [,"rad"] )
bode(sl, frq [,comments] )
bode(sl, frq [,comments] [,"rad"] )
bode(frq, db, phi [,comments] )
bode(frq, repf [,comments] [,"rad"] )

Arguments

sl

syslin list (SISO or SIMO linear system) in continuous or discrete time.

fmin,fmax

real (frequency bounds (in Hz))

step

real (logarithmic step.)

comments

vector of character strings (captions).

frq

row vector or matrix (frequencies (in Hz) ) (one row for each SISO subsystem).

db

row vector or matrix ( magnitudes (in Db)). (one row for each SISO subsystem).

phi

row vector or matrix ( phases (in degree)) (one row for each SISO subsystem).

repf

row vector or matrix of complex numbers (complex frequency response).

"rad"

converts the frequency from Hz into rad/s (multiplies by 2π),

Description

Bode plot, i.e magnitude and phase of the frequency response of sl.

sl can be a continuous-time or discrete-time SIMO system (see syslin). In case of multi-output the outputs are plotted with different symbols.

The frequencies are given by the bounds fmin,fmax (in Hz) or by a row-vector (or a matrix for multi-output) frq.

step is the ( logarithmic ) discretization step. (see calfrq for the choice of default value).

comments is a vector of character strings (captions).

db,phi are the matrices of modulus (in Db) and phases (in degrees). (One row for each response).

repf matrix of complex numbers. One row for each response.

Default values for fmin and fmax are 1.d-3, 1.d+3 if sl is continuous-time or 1.d-3, 0.5/sl.dt (nyquist frequency) if sl is discrete-time. Automatic discretization of frequencies is made by calfrq.

The datatips tool may be used to display data along the phase and modulus curves.

Examples

s = poly(0, 's');
h = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01));

clf(); bode(h, 0.01, 100);

s = poly(0, 's');
h1 = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01));
num = 22801+4406.18*s+382.37*s^2+21.02*s^3+s^4;
den = 22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4;
h2 = syslin('c', num/den);

clf(); bode([h1; h2], 0.01, 100, ['h1'; 'h2']);

s = %s;
G = (10*(s+3))/(s*(s+2)*(s^2+s+2)); // A rational matrix
sys = syslin('c', G); // A continuous-time linear system in transfer matrix representation.
f_min = .0001; f_max = 16; // Frequencies in Hz

clf(); bode(sys, f_min, f_max, "rad"); // Converts Hz to rad/s

See Also

  • bode_asymp — Bode plot asymptote
  • black — Black-Nichols diagram of a linear dynamical system
  • nyquist — nyquist plot
  • gainplot — magnitude plot
  • repfreq — frequency response
  • g_margin — gain margin and associated crossover frequency
  • p_margin — phase margin and associated crossover frequency
  • calfrq — frequency response discretization
  • phasemag — phase and magnitude computation
  • datatips — Tool for placing and editing tips along the plotted curves.
Report an issue
<< black Plot and display bode_asymp >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Apr 01 10:13:54 CEST 2015