Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.

See the recommended documentation of this function

# black

Black-Nichols diagram of a linear dynamical system

### Syntax

black( sl,[fmin,fmax] [,step] [,comments] ) black( sl,frq [,comments] ) black(frq,db,phi [,comments]) black(frq,repf [,comments])

### Arguments

- sl
A siso or simo linear dynamical system, in state space, transfer function or zpk representations, in continuous or discrete time.

- fmin,fmax
real scalars (frequency bounds)

- frq
row vector or matrix (frequencies)

- db,phi
row vectors or matrices (modulus, phase)

- repf
row vectors or matrices (complex frequency response)

- step
real

- comments
string

### Description

Black's diagram (Nichols'chart) for a linear dynamical system .

`sl`

can be a continuous-time or
discrete-time SIMO system given by its state space,
rational transfer function (see syslin) or zpk representation. In case of
multi-output the outputs are plotted with different
colors.

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.

To plot the grid of iso-gain and iso-phase of
`y/(1+y)`

use nicolschart().

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.

### Examples

//Black diagram s=poly(0,'s'); sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) clf();black(sl,0.01,10);

//Black diagram with Nichols chart as a grid s=poly(0,'s'); Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); //two degree of freedom PID tau=0.2;xsi=1.2; PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); clf(); black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); //move the caption in the lower right corner ax=gca();Leg=ax.children(1); Leg.legend_location="in_lower_right"; nicholschart(colors=color('light gray')*[1 1])

### See also

### History

Version | Description |

6.0 | handling zpk representation |

Report an issue | ||

<< Frequency Domain | Frequency Domain | bode >> |