2016-12-11 2 views
0

私はプロイクトで作業していましたが、私はPlotlyJSで作成したプロットの最大値を取得する必要がありました。私は.wavファイルの頻度を取得し、その頻度に関連する音符を印刷する必要があります。 http://samcarcagno.altervista.org/blog/basic-sound-processing-julia/ 私はこの投稿に従っていますが、これはあなたに周波数のスペクトログラムを与えただけです。基本周波数を得るために、私はyの値を変えました。JULIAでプロットの最大値を得るには?

plot(scatter(;x=freqArray/1000, y=p), 
Layout(xaxis_title="Frecuencia (kHz)", 
     xaxis_zeroline=false, 
     xaxis_showline=true, 
     xaxis_mirror=true, 
     yaxis_title="Intensidad (dB)", 
     yaxis_zeroline=false, 
     yaxis_showline=true, 
     yaxis_mirror=true)) 

That's the plot 私を助けてください、私はあなたが2つの結合ベクトルを有する周波数

+2

'maximum(freqArray)'は役に立ちませんか? –

+3

プロットの最大値について話すのは意味がありません。あなたが必要とするのは、プロットに入れたデータの最大値です。 –

答えて

0

を取得する方法がわかりません。 pには強度の値が含まれ、freqArrayには一致する周波数が含まれています。あなたのプロットは、(freqArray[i],p[i])で定義された(x,y)ポイントのシーケンスをすべてのインデックスiに対して表示しています。

indmax(p)を使用して、pが最大値を持つインデックスを返すことができます。次に、そのインデックスでfreqArrayにインデックスを付けることによって、周波数が何であるか調べることができます。

julia> p = rand(200); 
     freqArray = 5:5:1000; 

julia> idx = indmax(p) 
114 

julia> p[idx] # this is the maximum value 
0.9968329198539723 

julia> freqArray[idx] # and this is its frequency 
570 
関連する問題