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


nicholschart

Nichols chart

Syntax

sh = nicholschart(modules)
sh = nicholschart(modules, args)
sh = nicholschart(modules, args, colors)

Arguments

modules
vector of real numbers: modules (in dB). Default values:

[-30:-10:Modmin -20 -15 -12 -9 -6 -3 -2 -1 -.5 -0.2 -0.1 0 0.1 0.2 0.5 1 2 3 6 12]

args
vector of real numbers: phases (in degree). Default values:

-[1 2 5 10 20 30 50 70 90 120 140 160 180]°

colors
vector of 1 or 2 components specifying the colors of the isogain and isophase sets of curves. If a single color is provided, it is used for both gains and phases. colors may be specified either
  • by indices in the color map.
  • named colors among the predefined ones.
  • "#RRGGBB" hexadecimal case-insensitive strings starting with "#", like "#FA7B35".
  • A 1x3 or 2x3 matrix of [r g b] intensities such that 0 <= r,g,b <= 1.

sh
Structure with 3 fields:
  • .phaseLines: vector of handles of isophase lines. .phaseLines(i) is the line for args(i).
  • .gainLines: vector of handles of isogain lines. .gainLines(i) is the line for modules(i).
  • .gainLabels: vector of handles of isogain labels. .gainLabels(i) is the label for modules(i).

Description

plot the Nichols'chart: iso-module and iso-argument contours of y/(1+y) in y phase/gain plane.

nicholschart may be used in conjunction with black.

To use the default value of an input argument, just skip it, as in nicholschart(modules,,colors).

Examples

//Nichols chart
clf
subplot(1,2,1)
nicholschart();
subplot(1,2,2)
mod = [-35:5:-10 -6 -3 -1 -0.2 1 2 3 6];
nicholschart(mod, -[1 20 40 80 160 180],["khaki" "paleturquoise"]);

//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
gca().children(1).legend_location="in_lower_right";

// Add the Nichols frame and tune its labels color
h = nicholschart(,,'wheat');
h.gainLabels.font_foreground = color("orange");

See also

  • hallchart — Draws a Hall chart
  • sgrid — draws a s-plane grid
  • zgrid — zgrid plot
  • bode — Bode plot
  • black — Black-Nichols diagram of a linear dynamical system
  • nyquist — nyquist plot
  • svplot — singular-value sigma-plot
  • color_list — list of named colors

History

VersionDescription
5.5.0 Syntax allowed: nicholschart(gains, phases, colors).
6.1.0
  • The default frames color is now grey85 instead of cyan.
  • Colors may now be specified by their Scilab names or their "#RRGGBB" hexadecimal code.
  • Output argument sh added.
Report an issue
<< hallchart Frequency Domain nyquist >>

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:
Mon Jun 17 17:49:16 CEST 2024