@@ -209,7 +209,7 @@ def bode_plot(syslist, omega=None,
209
209
syslist = (syslist ,)
210
210
211
211
omega , omega_range_given = _determine_omega_vector (
212
- syslist , omega , omega_limits , omega_num )
212
+ syslist , omega , omega_limits , omega_num , Hz = Hz )
213
213
214
214
if plot :
215
215
# Set up the axes with labels so that multiple calls to
@@ -965,7 +965,7 @@ def gangof4_plot(P, C, omega=None, **kwargs):
965
965
# Select a default range if none is provided
966
966
# TODO: This needs to be made more intelligent
967
967
if omega is None :
968
- omega = _default_frequency_range ((P , C , S ))
968
+ omega = _default_frequency_range ((P , C , S ), Hz = Hz )
969
969
970
970
# Set up the axes with labels so that multiple calls to
971
971
# gangof4_plot will superimpose the data. See details in bode_plot.
@@ -1115,7 +1115,7 @@ def singular_values_plot(syslist, omega=None,
1115
1115
syslist = (syslist ,)
1116
1116
1117
1117
omega , omega_range_given = _determine_omega_vector (
1118
- syslist , omega , omega_limits , omega_num )
1118
+ syslist , omega , omega_limits , omega_num , Hz = Hz )
1119
1119
1120
1120
omega = np .atleast_1d (omega )
1121
1121
@@ -1210,7 +1210,8 @@ def singular_values_plot(syslist, omega=None,
1210
1210
1211
1211
1212
1212
# Determine the frequency range to be used
1213
- def _determine_omega_vector (syslist , omega_in , omega_limits , omega_num ):
1213
+ def _determine_omega_vector (syslist , omega_in , omega_limits , omega_num ,
1214
+ Hz = None ):
1214
1215
"""Determine the frequency range for a frequency-domain plot
1215
1216
according to a standard logic.
1216
1217
@@ -1236,6 +1237,10 @@ def _determine_omega_vector(syslist, omega_in, omega_limits, omega_num):
1236
1237
omega_num : int
1237
1238
Number of points to be used for the frequency
1238
1239
range (if the frequency range is not user-specified)
1240
+ Hz : bool. optional
1241
+ If True, the limits (first and last value) of the frequencies
1242
+ are set to full decades in Hz so it fits plotting with logarithmic
1243
+ scale in Hz otherwise in rad/s. Omega is always returned in rad/sec.
1239
1244
1240
1245
Returns
1241
1246
-------
@@ -1253,7 +1258,8 @@ def _determine_omega_vector(syslist, omega_in, omega_limits, omega_num):
1253
1258
omega_range_given = False
1254
1259
# Select a default range if none is provided
1255
1260
omega_out = _default_frequency_range (syslist ,
1256
- number_of_samples = omega_num )
1261
+ number_of_samples = omega_num ,
1262
+ Hz = Hz )
1257
1263
else :
1258
1264
omega_limits = np .asarray (omega_limits )
1259
1265
if len (omega_limits ) != 2 :
@@ -1280,7 +1286,7 @@ def _default_frequency_range(syslist, Hz=None, number_of_samples=None,
1280
1286
----------
1281
1287
syslist : list of LTI
1282
1288
List of linear input/output systems (single system is OK)
1283
- Hz : bool
1289
+ Hz : bool. optional
1284
1290
If True, the limits (first and last value) of the frequencies
1285
1291
are set to full decades in Hz so it fits plotting with logarithmic
1286
1292
scale in Hz otherwise in rad/s. Omega is always returned in rad/sec.
0 commit comments