関数sinusoid(a, w, n)
を書くと、振幅aと周波数wの正弦波のnサイクルを表す順序付きペアのリストが返されます。各サイクルには180個の順序付きペアが含まれている必要がありPythonの正弦波
これまでのところ私が持っている:
def sinusoid(a,w,n):
return [a*sin(x) for x in range 180]
関数sinusoid(a, w, n)
を書くと、振幅aと周波数wの正弦波のnサイクルを表す順序付きペアのリストが返されます。各サイクルには180個の順序付きペアが含まれている必要がありPythonの正弦波
これまでのところ私が持っている:
def sinusoid(a,w,n):
return [a*sin(x) for x in range 180]
正弦波とどのように周波数が式に入ってくるの実際の機能フォームをご検討ください。 (ヒント:http://en.wikipedia.org/wiki/Sine_wave)。
「順序付けされたペア」によって正確に意味されるものはわかりませんが、x、yペアを意味すると見なされます。現在、単一の値のリストのみを返しています。また、Pythonのsin
関数のドキュメントを参照してください。
わかりました。これは宿題ですが、私たちはあなたのためにそれを行うつもりはありません。しかし、私はあなたにいくつかのヒントを与えます。
手順:
は、振幅A及び周波数Wと正弦波のnサイクルを表す順序対のリストを返す関数sinusoid(a, w, n)
を書きます。各サイクルには180個の順序付きペアが含まれている必要がありa
、w
、およびn
:3つの引数を取るsinusoid()
あなたが与えた例は、関数を正しい名前で定義し、正しい数の引数を取っています。それはスタートです(さほど大したことではありませんが、それは何かです)。
明らかな失敗は、必要な引数のうち2つを使用せず、何かのペアを返さないということです。最初のパラメータに与えられた引数に基づいて180の数値を返すようです。
確かにそれよりも少し良いことができます。
のスタブを見てみましょう:
def sinusoid(a, w, n):
'''Return n cycles of the sinusoid for a given amplitude and frequence
where each cycle consists of 180 ordered pairs
'''
results = list()
# do stuff here
return results
機能ですが、3つの引数を取り、リストを返します。そのリストには返す前に何かを含めるために、いくつかのものを追加する必要があります。指示には返すべきものがいくつあるのかがわかります(n
回180)。ペア)。
私たちはループ(n
)と別のもの(180)が必要なように思えます。うーん...
for each_cycle in range(n):
for each_pair in range(180):
# do something here
results.append(something) # where something is a tuple ... an "ordered pair"
...またはそれは次のようになります:
for each_cycle in range(n):
this_cycle = list()
for each_pair in range(180):
this_cycle.append(something)
results.extend(this_cycle)
...または、それも次のようになります。
for each_pair in range(n*180):
results.append(something)
ように見えるかもしれません
。 ..しかし、率直に言って、それはそう思わない。 (内側ループを外側ループでこのように平坦化しようとすると、モジュロ算術を使用して他の中間計算のためにバックアウトする必要があるかもしれません)。
私はインストラクターが実際に求めていることは分かりません。 math.sin()
関数が関与していると思われます。「順序付けされたペア」は、ある種のグラフィックサブシステムにマップされ、グラフをプロットするのに適した座標であると思います。私はこれらのうちの180個が、正弦波をその値の全範囲で示すことを推測しています。たぶん振幅で何かを乗算したり、周波数で別のものを割ったり、サイクルごとに何かを加えることさえあれば...プロットを右または何かに動かすためのオフセット。
しかし、関数定義のそのスタブから始めて、これらのループ本体の1つまたは別のものに貼り付け、実際に "何か"を使用した部分で意味のある値を返す方法を考え出すように思えます。プレースホルダとして。これらの「ペアを命じたが、」座標であることを想定して行く
は、プロットのために、あなたがあなたの結果に追加物事のそれぞれがx
が単調(空想の道を増加しているフォーム(x,y)
でなければならないと思わそれが上昇し続けると決して落ちないと言います)、いつもいつもrange(0,n*180)
とy
はおそらくmath.sin()
であり、何かのものが入っていますa
とw
...しかし、それは私のところでの推測です。
この宿題はありますか?表示する場合は、そのようにタグ付けする必要があります。 – JoshAdel
その関数は順序付けされたペアのリストを返しません! –
毎回別の名前を作成する必要はありません。しかし、これは良い言葉です。 http://stackoverflow.com/users/645398/bailey – OscarRyz