0

次のスクリプトを実行しようとしています。私の意図は、大きなガウスの両側に 2 つの小さなガウスが続く、中央に 1 つの高輝度ガウスを与える出力を得ることでした。これは、毎回異なる n 値を取り、それらを x に対してプロットするすべての y 値のフーリエ和です。しかし、どういうわけか、私は望ましい結果を得ていません。いくつかの助けをいただければ幸いです。コード-

from pylab import *

n = 6    
D = 6

x = linspace(-3, 3, 13000)    
y = [1, 1, 1, 1, 1]    
F = []

for i in range(1,n):
    F=sum((item*cos(2*pi*i*x/D)for item in y)) 

plot(x,F,'r')

show()
4

1 に答える 1

0

Fループを介して毎回再割り当てしています。ループの最後にF が数値のリストfor i in range(1,n)ではなく数値としてあるため、これが問題になる可能性があります。

値のリストを作成するにはF、 に変更F = sum(....)するだけF.append(sum(...))で、最後に値のリストが作成されます。

また、 からまでrange(1, n)の範囲であることに注意してください。これは、あなたが望むものかもしれませんし、そうでないかもしれません。1n-1

于 2013-02-22T15:29:54.193 に答える