维基百科说我们可以用方程近似树皮尺度:b(f) = 13*atan(0.00076*f)+3.5*atan(power(f/7500,2))
如何在树皮尺度上将频谱划分为长度相同的n
间隔(间隔划分点在树皮尺度上是等距的)?
最好的方法是解析反函数(用函数表示)。我在纸上试着做,但失败了WolframAlpha搜索栏也做不到我试过倍频程函数,但我出错了。
八度音阶说(举个简单的例子):
octave:2> x = sym('x');
octave:3> finverse(2*x)
error: `finverse' undefined near line 3 column 1
这是来自Matlab的
x
描述:http://www.mathworks.com/help/symbolic/finverse.html也可以用数值方法来计算我可以想象,你只需要从二元搜索中平等地划分
y
轴,寻找理想的划分。但也许有一些现有的工具可以做到这一点吗? 最佳答案
你需要数值求解这个方程(没有解析反函数)。将b
的值设置为等距,然后解方程以找到各种f
。分段法有点慢,但布伦特方法是一个很好的替代方法见http://en.wikipedia.org/wiki/Brent%27s_method