Skip to content

Commit fe97069

Browse files
committed
FIX:
- reshape output of frequency response to handle MIMO/SISO systems in the same way - if plot condition added to set gridlines and axes labels
1 parent 8d02fae commit fe97069

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

control/freqplot.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,7 @@ def singular_values_plot(syslist, omega=None,
11601160
else:
11611161
nyquistfrq = None
11621162

1163-
fresp = sys(1j*omega if sys.isctime() else np.exp(1j * omega * sys.dt))
1163+
fresp = sys(1j*omega if sys.isctime() else np.exp(1j * omega * sys.dt)).reshape(sys.noutputs, sys.ninputs, len(omega))
11641164

11651165
fresp = fresp.transpose((2, 0, 1))
11661166
sigma = np.linalg.svd(fresp, compute_uv=False)
@@ -1192,9 +1192,10 @@ def singular_values_plot(syslist, omega=None,
11921192
ax_sigma.axvline(x=nyquistfrq_plot, color=color)
11931193

11941194
# Add a grid to the plot + labeling
1195-
ax_sigma.grid(grid, which='both')
1196-
ax_sigma.set_ylabel("Singular Values (dB)" if dB else "Singular Values")
1197-
ax_sigma.set_xlabel("Frequency (Hz)" if Hz else "Frequency (rad/sec)")
1195+
if plot:
1196+
ax_sigma.grid(grid, which='both')
1197+
ax_sigma.set_ylabel("Singular Values (dB)" if dB else "Singular Values")
1198+
ax_sigma.set_xlabel("Frequency (Hz)" if Hz else "Frequency (rad/sec)")
11981199

11991200
if len(syslist) == 1:
12001201
return sigmas[0], omegas[0]

0 commit comments

Comments
 (0)