Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 17c40aa

Browse files
committed
Test the case len(x) < NFFT for psd() to restore code coverage.
1 parent 804ade1 commit 17c40aa

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

lib/matplotlib/tests/test_mlab.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3111,3 +3111,16 @@ def test_psd_onesided_norm():
31113111
sides='onesided')
31123112
Su_1side = np.append([Su[0]], Su[1:4] + Su[4:][::-1])
31133113
assert_allclose(P, Su_1side, atol=1e-06)
3114+
3115+
3116+
def test_psd_oversampling():
3117+
"""Test the case len(x) < NFFT for psd(). """
3118+
u = np.array([0, 1, 2, 3, 1, 2, 1])
3119+
dt = 1.0
3120+
Su = np.abs(np.fft.fft(u) * dt)**2 / float(dt * u.size)
3121+
P, f = mlab.psd(u, NFFT=u.size*2, Fs=1/dt, window=mlab.window_none,
3122+
detrend=mlab.detrend_none, noverlap=0, pad_to=None,
3123+
scale_by_freq=None,
3124+
sides='onesided')
3125+
Su_1side = np.append([Su[0]], Su[1:4] + Su[4:][::-1])
3126+
assert_almost_equal(np.sum(P), np.sum(Su_1side)) # same energy

0 commit comments

Comments
 (0)