4

私は機能を持っています:

f = x**0.5*numpy.exp(-x/150)

numpy と matplot.lib を使用して、f のプロットを x と x の関数として生成しました。

x = np.linspace(0.0,1000.0, num=10.0)

最初に作成した x 配列を使用して、この関数に対して同じプロットを作成するランダムな x 値の配列を作成するにはどうすればよいでしょうか?

ブライアン

4

1 に答える 1

3

あなたが何を求めているのかよくわかりませんが、「x」配列で不規則な間隔のポイントが必要なだけですか?

その場合は、ランダムな値の配列で累積合計を行うことを検討してください。

簡単な例として:

import numpy as np
import matplotlib.pyplot as plt

xmin, xmax, num = 0, 1000, 20
func = lambda x: np.sqrt(x) * np.exp(-x / 150)

# Generate evenly spaced data...
x_even = np.linspace(xmin, xmax, num)

# Generate randomly spaced data...
x = np.random.random(num).cumsum()
# Rescale to desired range
x = (x - x.min()) / x.ptp()
x = (xmax - xmin) * x + xmin

# Plot the results
fig, axes = plt.subplots(nrows=2, sharex=True)
for x, ax in zip([x_even, x_rand], axes):
    ax.plot(x, func(x), marker='o', mfc='red')
axes[0].set_title('Evenly Spaced Points')
axes[1].set_title('Randomly Spaced Points')
plt.show()

ここに画像の説明を入力

于 2013-05-03T17:14:20.010 に答える