diff --git a/compressed_sensing.py b/compressed_sensing.py
index 39edcd5c9315c806ca53e6fd02a3b27ce751e420..775c6bb35c9b89bb54390b1a4ec7ab914918d5c8 100644
--- a/compressed_sensing.py
+++ b/compressed_sensing.py
@@ -46,3 +46,16 @@ if __name__ == "__main__":
     plt.plot(sample_times, recovered_sample_values)
     plt.savefig("fig_c.png")
     plt.close()
+
+    # Part (d)
+    n_subsamples = 100
+    np.random.seed(7250147)
+    subset_indices = np.arange(n_samples)
+    np.random.shuffle(subset_indices)
+    subset_indices = subset_indices[:n_subsamples]
+    subset_indices = np.sort(subset_indices)
+    subset_sample_times = sample_times[subset_indices]
+    subset_sample_values = sample_values[subset_indices]
+    plt.plot(subset_sample_times, subset_sample_values)
+    plt.savefig("fig_d.png")
+    plt.close()