1

スペクトログラム関数によって作成された図が与えられた場合、次の式に従って目盛りを設定するにはどうすればよいですか?

(12 × log2 (f / 440)) + 69

[fは軸の現在の値であり、数式の結果がそれを置き換える必要があります]

4

1 に答える 1

4

私があなたの質問を正しく理解していれば...もっと効率的な方法があるかもしれませんが、これはうまくいくと思います:

data = rand(1,1000);

plot(data)
f = get(gca,'Xtick');
new_ticks = (12 * log2((f / 440) + 69))
set(gca,'Xticklabels', new_ticks)

これにより、x軸のスケーリングは同じに保たれますが、指定した数式に従って目盛りラベルが変更されます。

于 2012-10-12T11:05:07.790 に答える