Skip to content

Commit 5a0e650

Browse files
committed
new docs for release 4.1.3
1 parent 28159d8 commit 5a0e650

9 files changed

Lines changed: 107 additions & 30 deletions

File tree

docs/@lti_connect.html

Lines changed: 74 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -496,30 +496,37 @@ <h3 class="d-inline-block mr-2">
496496
</div>
497497
<div class="card-body">
498498
<dl>
499-
<dt><u>Function File:</u> <var>sys</var> = <b>connect</b><i> (<var>sys1</var>, <var>sys2</var>, &hellip;, <var>sysN</var>, <var>inputs</var>, <var>outputs</var>)</i></dt>
500-
<dt><u>Function File:</u> <var>sys</var> = <b>connect</b><i> (<var>sys</var>, <var>cm</var>, <var>inputs</var>, <var>outputs</var>)</i></dt>
499+
<dt><u>Function File:</u> <var>csys</var> = <b>connect</b><i> (<var>sys1</var>, <var>sys2</var>, &hellip;, <var>sysN</var>, <var>in</var>, <var>out</var>)</i></dt>
500+
<dt><u>Function File:</u> <var>csys</var> = <b>connect</b><i> (<var>sys</var>, <var>cm</var>, <var>in</var>, <var>out</var>)</i></dt>
501501
</dl>
502-
<p> Name-based or index-based interconnections between the inputs and outputs of <acronym>LTI</acronym> models.
503-
</p> <div class="ms-5">
504502

503+
<p> Name-based or index-based interconnections between the outputs and inputs of <acronym>LTI</acronym> models.
504+
</p>
505+
<div class="ms-5">
505506
<p> <strong>Inputs</strong>
506507
</p><dl compact="compact">
507508
<dt> <var>sys1, &hellip;, sysN</var></dt>
508509
</dl>
509-
<p> <acronym>LTI</acronym> models to be connected. The properties &rsquo;inname&rsquo; and &rsquo;outname&rsquo;
510-
of each model should be set according to the desired input-output connections.
510+
<p> <acronym>LTI</acronym> models to be connected by named-based connection.
511+
The properties &rsquo;inname&rsquo; and &rsquo;outname&rsquo; of each model should be set according
512+
to the desired input-output connections.
513+
</p></dd>
514+
<dt> <var>sys</var></dt>
515+
</dl>
516+
<p> <acronym>LTI</acronym> model where the outputs are connected to the inputs by
517+
index-based connection.
511518
</p></dd>
512-
<dt> <var>inputs</var></dt>
519+
<dt> <var>in</var></dt>
513520
</dl>
514521
<p> For name-based interconnections, string or cell of strings containing the names
515522
of the inputs to be kept. The names must be part of the properties &rsquo;ingroup&rsquo; or
516523
&rsquo;inname&rsquo;. For index-based interconnections, vector containing the indices of the
517524
inputs to be kept.
518525
</p></dd>
519-
<dt> <var>outputs</var></dt>
526+
<dt> <var>out</var></dt>
520527
</dl>
521528
<p> For name-based interconnections, string or cell of strings containing the names
522-
of the outputs to be kept. The names must be part of the properties &rsquo;outgroup&rsquo;
529+
of the outputs to be kept. The names must be part of the properties &rsquo;outgroup&rsquo;
523530
or &rsquo;outname&rsquo;. For index-based interconnections, vector containing the indices of
524531
the outputs to be kept.
525532
</p></dd>
@@ -537,20 +544,73 @@ <h3 class="d-inline-block mr-2">
537544
<p> will sum input u(2) with outputs y(3) and y(4) as
538545
</p><table><tr><td>&nbsp;</td><td><pre class="example"> u(2) + y(3) - y(4).
539546
</pre></td></tr></table>
540-
</dd>
547+
<p> If several systems are cinnected as in the name-based case, they have
548+
to be stacked by <code>append</code> before using <code>connect</code>.
549+
</p></dd>
541550
</dl>
542551

543552
<p> <strong>Outputs</strong>
544553
</p><dl compact="compact">
545-
<dt> <var>sys</var></dt>
554+
<dt> <var>csys</var></dt>
546555
</dl>
547-
<p> Resulting interconnected system with outputs <var>outputs</var> and
548-
inputs <var>inputs</var>.
556+
<p> Resulting interconnected system with outputs <var>out</var> and
557+
inputs <var>in</var>.
549558
</p></dd>
550559
</dl>
551560

561+
<p> <strong>Example</strong>
562+
</p>
563+
<p> Consider the control loop with reference r, disturbances d1, d2
564+
and an additional output which represents the output of the controller
565+
</p><table><tr><td>&nbsp;</td><td><pre class="example"> </pre><pre class="example">
566+
d1 --+ d2 --+
567+
| |
568+
e +--------+ v u +--------+ v
569+
r ---&gt;o----&gt;| K(s) |--+-&gt;o----&gt;| G(s) |---&gt;o--+----&gt; y
570+
^ - +--------+ | +--------+ |
571+
| | |
572+
| +------------------------------&gt; yc
573+
| |
574+
+-------------------------------------------+
575+
</pre><pre class="example"> </pre></td></tr></table>
576+
577+
<p> Name-based interconnections:
578+
</p><table><tr><td>&nbsp;</td><td><pre class="example"> </pre><pre class="example"> G.inname = 'u';
579+
G.outname = 'y1';
580+
K.inname = 'e';
581+
K.outname = 'yc';
582+
s1 = sumblk ('e = r - y');
583+
s2 = sumblk ('u = yc + d1');
584+
s3 = sumblk ('y = y1 + d2');
585+
in = {'r', 'd1', 'd2'};
586+
out = {'y', 'yc'};
587+
G_cl1 = tf (connect (K, G, s1, s2, s3, in, out))
588+
</pre><pre class="example"> </pre></td></tr></table>
589+
590+
<p> Index-based interconnections (without changing <code>G</code> and <code>K</code>):
591+
</p><table><tr><td>&nbsp;</td><td><pre class="example"> </pre><pre class="example"> G1 = tf (1); # static gains with r, d1, d2, y as outputs
592+
G_all = append (G1, G1, G1, K, G, G1);
593+
cm = [4, 1, -6; 5, 4, 2; 6, 5, 3];
594+
in = [1, 2, 3];
595+
out = [6, 4];
596+
G_cl2 = connect (G_all, cm, in, out)
597+
</pre><pre class="example"> </pre></td></tr></table>
598+
599+
<p> Index-based interconnections (changing <code>G</code> and <code>K</code>):
600+
</p><table><tr><td>&nbsp;</td><td><pre class="example"> </pre><pre class="example"> [A,B,C,D] = ssdata(K);
601+
K = ss (A, [B -B], C, [D -D]); # compare s1 above
602+
[A,B,C,D] = ssdata(G);
603+
G = ss (A, [B B 0*B], C, [D D 1]); # compare s2 and s3 above
604+
G_all = append (K, G);
605+
cm = [2, 2; 3, 1];
606+
in = [1, 3, 5];
607+
out = [2, 1];
608+
G_cl3 = tf (connect (G_all, cm, in, out))
609+
</pre><pre class="example"> </pre></td></tr></table>
610+
552611
<p> <strong>See also: </strong>
553-
<a href="sumblk.html">sumblk</a>
612+
<a href="sumblk.html">sumblk</a>,
613+
<a href="append.html">append</a>
554614
</p>
555615
<p><strong>Source Code: </strong>
556616
<a href="https://github.com/gnu-octave/pkg-control/tree/main/inst/@lti/connect.m">@lti/connect</a>

docs/assets/rlocus_101.png

1 Byte
Loading

docs/assets/sgrid_101.png

3.05 KB
Loading

docs/assets/sgrid_201.png

2.94 KB
Loading

docs/assets/sgrid_301.png

16 Bytes
Loading

docs/assets/zgrid_101.png

-10 Bytes
Loading

docs/hinfsyn.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,24 @@ <h3 class="d-inline-block mr-2">
670670

671671
</pre><pre class="example"> </pre></td></tr></table>
672672

673+
<p> The used method (see <strong>Algorithm</strong> below) requires the following assumptions:
674+
</p><dl compact="compact">
675+
<dt> (A1) (A,B2) is stabilizable and (C2,A) is detectable</dt>
676+
<dt> (A2) D12 is full column rank and D21 is full row rank,</dt>
677+
<dt> (A3) The matrix below has full column rank for all w</dt>
678+
</dl>
679+
<table><tr><td>&nbsp;</td><td><pre class="example"> </pre><pre class="example"> | A-j*w*I B2 |
680+
| C1 D12 |
681+
</pre><pre class="example"> </pre></td></tr></table>
682+
</dd>
683+
<dt> (A4) The matrix below has full row rank for all w.</dt>
684+
</dl>
685+
<table><tr><td>&nbsp;</td><td><pre class="example"> </pre><pre class="example"> | A-j*w*I B1 |
686+
| C2 D21 |
687+
</pre><pre class="example"> </pre></td></tr></table>
688+
</dd>
689+
</dl>
690+
673691
<p> <strong>Algorithm</strong><br>
674692
Uses <a href="https://github.com/SLICOT/SLICOT-Reference">SB10DD and SB10AD</a>,
675693
Copyright (c) 2020, SLICOT, available under the BSD 3-Clause

docs/index.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
</div>
8989
<div class="col-sm-9 col-md-10">
9090
<h3 class="d-inline-block mr-2">control</h3>
91-
<b>4.1.2&nbsp;2025-05-18</b>
91+
<b>4.1.3&nbsp;2025-09-10</b>
9292
<p class="indent">
9393
Control package for GNU Octave including system analysis and control synthesis. The package uses routines of the SLICOT-Reference library.
9494
</p>
@@ -377,8 +377,8 @@ <h3 class="category">
377377
<a href="@lti_connect.html">@lti/connect</a>
378378
</code></b>
379379
</td>
380-
<td>Name-based or index-based interconnections between the inputs and
381-
outputs of LTI models.</td>
380+
<td>Name-based or index-based interconnections between the outputs and
381+
inputs of LTI models.</td>
382382
</tr>
383383
<tr>
384384
<td>
@@ -493,10 +493,10 @@ <h3 class="category">
493493
<a href="gram.html">gram</a>
494494
</code></b>
495495
</td>
496-
<td>'gram (SYS, "c")' returns the controllability gramian of the
497-
(continuous- or discrete-time) system SYS. 'gram (SYS, "o")' returns
496+
<td>gram (SYS, "c") returns the controllability gramian of the
497+
(continuous- or discrete-time) system SYS. gram (SYS, "o") returns
498498
the observability gramian of the (continuous- or discrete-time) system
499-
SYS. 'gram (A, B)' returns the con...</td>
499+
SYS. gram (A, B)’ ret...</td>
500500
</tr>
501501
<tr>
502502
<td>
@@ -840,8 +840,8 @@ <h3 class="category">
840840
<a href="place.html">place</a>
841841
</code></b>
842842
</td>
843-
<td>Pole assignment for a given matrix pair (A,B) such that 'p = eig
844-
(A-B*F)'.</td>
843+
<td>Pole assignment for a given matrix pair (A,B) such that p = eig
844+
(A-B*F).</td>
845845
</tr>
846846
<tr>
847847
<td>
@@ -1277,7 +1277,7 @@ <h3 class="category">
12771277
</code></b>
12781278
</td>
12791279
<td>Change the sample rate of the output and input signals in dataset DAT by
1280-
a factor of 'p/q'.</td>
1280+
a factor of p/q.</td>
12811281
</tr>
12821282
<tr>
12831283
<td>

docs/sgrid.html

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ <h3 class="d-inline-block mr-2">
512512
</li></ul>
513513

514514
<p> The function state input may be either <code>&quot;on&quot;</code> or <code>&quot;off&quot;</code>
515-
for creating or removing the grid. If omitted, a new grid is created
515+
for creating or removing the grid. If omitted, a new grid is created
516516
when it does not exist or the visibility of the current grid is toggled.
517517
</p>
518518
<p> The sgrid will automatically plot the grid lines at nice values or
@@ -532,12 +532,11 @@ <h3 class="d-inline-block mr-2">
532532
sgrid off remove the s-plane grid
533533
sgrid toggle the s-plane grid visibility
534534
sgrid ([0.3, 0.8, &hellip;], [10, 75, &hellip;]) create:
535-
</pre><table><tr><td>&nbsp;</td><td><pre class="example"> </pre><ul>
536-
<li><pre class="example"> zeta lines for 0.3, 0.8, &hellip;
537-
</pre></li><li><pre class="example"> omega circles for 10, 75, &hellip; [rad/s]
538-
</pre></li></ul>
539-
<pre class="example"> </pre></td></tr></table>
540-
<pre class="example"> sgrid (<var>hax</var>, <code>&quot;on&quot;</code>) create the s-plane grid for the axis
535+
zeta lines for 0.3, 0.8, &hellip;
536+
omega circles for 10, 75, &hellip; [rad/s]
537+
sgrid off; sgrid remove current s-grid and
538+
draw new with default values
539+
sgrid (<var>hax</var>, <code>&quot;on&quot;</code>) create the s-plane grid for the axis
541540
handle <var>hax</var>
542541
</pre></td></tr></table>
543542

0 commit comments

Comments
 (0)