Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb875987

Browse files
committed
address remaining@sawyerbfuller review comments
1 parent120e333 commitb875987

File tree

3 files changed

+41
-5
lines changed

3 files changed

+41
-5
lines changed

‎control/lti.py

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,43 @@ def __init__(self, inputs=1, outputs=1, states=None, name=None, **kwargs):
4444
def__call__(self,x,squeeze=None,warn_infinite=True):
4545
"""Evaluate system transfer function at point in complex plane.
4646
47-
See `StateSpace.__call__` and `TransferFunction.__call__` for details.
47+
Returns the value of the system's transfer function at a point `x`
48+
in the complex plane, where `x` is `s` for continuous-time systems
49+
and `z` for discrete-time systems.
50+
51+
By default, a (complex) scalar will be returned for SISO systems
52+
and a p x m array will be return for MIMO systems with m inputs and
53+
p outputs. This can be changed using the `squeeze` keyword.
54+
55+
To evaluate at a frequency `omega` in radians per second,
56+
enter ``x = omega * 1j`` for continuous-time systems,
57+
``x = exp(1j * omega * dt)`` for discrete-time systems, or
58+
use the `~LTI.frequency_response` method.
59+
60+
Parameters
61+
----------
62+
x : complex or complex 1D array_like
63+
Complex value(s) at which transfer function will be evaluated.
64+
squeeze : bool, optional
65+
Squeeze output, as described below. Default value can be set
66+
using `config.defaults['control.squeeze_frequency_response']`.
67+
warn_infinite : bool, optional
68+
If set to False, turn off divide by zero warning.
69+
70+
Returns
71+
-------
72+
fresp : complex ndarray
73+
The value of the system transfer function at `x`. If the system
74+
is SISO and `squeeze` is not True, the shape of the array matches
75+
the shape of `x`. If the system is not SISO or `squeeze` is
76+
False, the first two dimensions of the array are indices for the
77+
output and input and the remaining dimensions match `x`. If
78+
`squeeze` is True then single-dimensional axes are removed.
79+
80+
Notes
81+
-----
82+
See `FrequencyResponseData`.__call__`, `StateSpace.__call__`,
83+
`TransferFunction.__call__` for class-specific details.
4884
4985
"""
5086
raiseNotImplementedError("not implemented in subclass")
@@ -117,7 +153,7 @@ def frequency_response(self, omega=None, squeeze=None):
117153

118154
defdcgain(self):
119155
"""Return the zero-frequency (DC) gain."""
120-
returnNotImplemented
156+
raiseNotImplementedError("dcgain not defined for subclass")
121157

122158
def_dcgain(self,warn_infinite):
123159
zeroresp=self(0ifself.isctime()else1,
@@ -443,8 +479,7 @@ def evalfr(sys, x, squeeze=None):
443479
444480
See Also
445481
--------
446-
StateSpace.__call__, TransferFunction.__call__, frequency_response,\
447-
bode_plot
482+
LTI.__call__, frequency_response, bode_plot
448483
449484
Notes
450485
-----

‎control/statesp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1746,7 +1746,7 @@ def ss(*args, **kwargs):
17461746
17471747
See Also
17481748
--------
1749-
tf, ss2tf, tf2ss, zpk
1749+
StateSpace, nlsys,tf, ss2tf, tf2ss, zpk
17501750
17511751
Notes
17521752
-----

‎doc/xferfcn.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ domain properties of a linear systems:
3838
frequency_response
3939
phase_crossover_frequencies
4040
singular_values_response
41+
stability_margins
4142
tfdata
4243

4344
These functions work on both state space and transfer function models.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp