3232
3333__all__ = ['NonlinearIOSystem' , 'InterconnectedSystem' , 'nlsys' ,
3434 'input_output_response' , 'find_eqpt' , 'linearize' ,
35- 'interconnect' , 'connection_table' , 'find_operating_point' ]
35+ 'interconnect' , 'connection_table' , 'OperatingPoint' ,
36+ 'find_operating_point' ]
3637
3738
3839class NonlinearIOSystem (InputOutputSystem ):
@@ -92,7 +93,7 @@ class NonlinearIOSystem(InputOutputSystem):
9293 generic name <sys[id]> is generated with a unique integer id.
9394
9495 params : dict, optional
95- Parameter values for the system. Passed to the evaluation functions
96+ Parameter values for the system. Passed to the evaluation functions
9697 for the system as default values, overriding internal defaults.
9798
9899 See Also
@@ -1685,6 +1686,8 @@ class OperatingPoint(object):
16851686 State vector at the operating point.
16861687 inputs : array
16871688 Input vector at the operating point.
1689+ outputs : array, optional
1690+ Output vector at the operating point.
16881691 result : :class:`scipy.optimize.OptimizeResult`, optional
16891692 Result from the :func:`scipy.optimize.root` function, if available.
16901693
@@ -1740,7 +1743,7 @@ def find_operating_point(
17401743 for the desired inputs, outputs, states, or state updates of the system.
17411744
17421745 In its simplest form, `find_operating_point` finds an equilibrium point
1743- given either the desired input or desired output:
1746+ given either the desired input or desired output::
17441747
17451748 xeq, ueq = find_operating_point(sys, x0, u0)
17461749 xeq, ueq = find_operating_point(sys, x0, u0, y0)
@@ -1810,19 +1813,15 @@ def find_operating_point(
18101813
18111814 Returns
18121815 -------
1813- states : array of states
1814- Value of the states at the equilibrium point, or `None` if no
1815- equilibrium point was found and `return_result` was False.
1816- inputs : array of input values
1817- Value of the inputs at the equilibrium point, or `None` if no
1818- equilibrium point was found and `return_result` was False.
1819- outputs : array of output values, optional
1820- If `return_y` is True, returns the value of the outputs at the
1821- equilibrium point, or `None` if no equilibrium point was found and
1822- `return_result` was False.
1823- result : :class:`scipy.optimize.OptimizeResult`, optional
1824- If `return_result` is True, returns the `result` from the
1825- :func:`scipy.optimize.root` function.
1816+ op_point : OperatingPoint
1817+ The solution represented as an `OperatingPoint` object. The main
1818+ attributes are `states` and `inputs`, which represent the state
1819+ and input arrays at the operating point. See
1820+ :class:`OperatingPoint` for a description of other attributes.
1821+
1822+ If accessed as a tuple, returns `states`, `inputs`, and optionally
1823+ `outputs` and `result` based on the `return_y` and `return_result`
1824+ parameters.
18261825
18271826 Notes
18281827 -----
@@ -1839,7 +1838,7 @@ def find_operating_point(
18391838 `False`, the returned state and input for the operating point will be
18401839 `None`. If `return_result` is `True`, then the return values from
18411840 :func:`scipy.optimize.root` will be returned (but may not be valid).
1842- If `root_method` is set to `lm` , then the least squares solution (in
1841+ If `root_method` is set to 'lm' , then the least squares solution (in
18431842 the free variables) will be returned.
18441843
18451844 """
@@ -1956,8 +1955,8 @@ def rootfun(z):
19561955 # * output_vars: indices of outputs that must be constrained
19571956 #
19581957 # This index lists can all be precomputed based on the `iu`, `iy`,
1959- # `ix`, and `idx` lists that were passed as arguments to `find_eqpt`
1960- # and were processed above.
1958+ # `ix`, and `idx` lists that were passed as arguments to
1959+ # `find_operating_point` and were processed above.
19611960
19621961 # Get the states and inputs that were not listed as fixed
19631962 state_vars = (range (nstates ) if not len (ix )
0 commit comments