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

Commit72cb23f

Browse files
committed
added warning method when falling back to frd
1 parent567b4db commit72cb23f

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

‎control/margins.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"""
5252

5353
importmath
54+
fromwarningsimportwarn
5455
importnumpyasnp
5556
importscipyassp
5657
from .importxferfcn
@@ -207,7 +208,7 @@ def fun(wdt):
207208

208209
returnz,w
209210

210-
def_numerical_inaccuracy(sys):
211+
def_likely_numerical_inaccuracy(sys):
211212
# crude, conservative check for if
212213
# num(z)*num(1/z) << den(z)*den(1/z) for DT systems
213214
num,den,num_inv_zp,den_inv_zq,p_q,dt=_poly_z_invz(sys)
@@ -334,7 +335,9 @@ def stability_margins(sysdata, returnall=False, epsw=0.0, method='best'):
334335
elifmethod=='best':
335336
# convert to FRD if anticipated numerical issues
336337
ifisinstance(sys,xferfcn.TransferFunction)andnotsys.isctime():
337-
if_numerical_inaccuracy(sys):
338+
if_likely_numerical_inaccuracy(sys):
339+
warn("stability_margins: Falling back to 'frd' method "
340+
"because of chance of numerical inaccuracy in 'poly' method.")
338341
omega_sys=freqplot._default_frequency_range(sys)
339342
omega_sys=omega_sys[omega_sys<np.pi/sys.dt]
340343
sys=frdata.FRD(sys,omega_sys,smooth=True)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp