Как реализовать следующую функцию в C#?Как реализовать функцию частоты клавиш фортепиано в C#?
ответ
double F = 440.0 * Math.Pow(2.0, (n-49.0)/12.0);
+1 для вызова Math.Pow только один раз – ram
Вы правы, уравнение может быть упрощено для вашего ответа, но я сделал прямую реализацию. –
440 * Math.Pow(Math.Pow(2, 1.0/12), n - 49)
+1, строгое значение –
440 * 12th root of 2 raised to n-49
= 440 * (2^1/12) ^(n-49)
= 440 * 2^(n/12)/2^(49/12)
= 440 * 2^(n/12)/(2^4 * 2^1/12)
= 440 * (1/2^4) * 2^((n-1) /12)
= 8 * 55 * (1/16) * 2^((n-1) /12)
= 27.5 * 2^((n-1) /12)
так ....
double d = 27.5 * Math.Pow(2, (n-1)/12.0)
А с 12-го корня 2 = 1.0594630943592952645618252949463, затем
double d = 27.5 * Math.Pow(1.0594630943592952645618252949463, (n-1))
так ...
double d = 27.5 * Math.Pow(1.059463094359295, (n-1));
Надеюсь, что если это решение будет использовано, для удобства обслуживания будет сделан комментарий. –
Вы уверены, что математика в порядке? Попробуйте n = 49. Вы должны получить 440. –
хорошая ловушка 12-й корень из 2 = 1.0594630943592952645618252949463, а не .083333333333333 ... Я побежал Windows calc плохо ... Я отредактировал, чтобы исправить. –
http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=339638&av=501750
string funcion= "440*((2)^(1/12))^(X-49)";
X=4
double FX= GetValueFunc(4);
;) jeje
- 1. Быстрое преобразование Фурье для определения частоты фортепиано в MATLAB
- 2. Примечание: Синтез, гармоники (скрипка, фортепиано, гитара, бас), частоты, MIDI
- 3. Как реализовать функцию монтирования в c/C++
- 4. Как записать фортепиано?
- 5. Реализовать async-функцию в C
- 6. Различают нажатия клавиш и отпускания MIDI-ввода фортепиано
- 7. Как реализовать функцию make_unique в C++ 11?
- 8. C# Как реализовать функцию в этом коде?
- 9. Как реализовать функцию Python exec() в C++?
- 10. Как реализовать чистую виртуальную функцию в C++
- 11. Как реализовать STRCMP функцию string.h в C
- 12. Как реализовать функцию Excel Solver в C#?
- 13. Как реализовать функцию rollDice() в C?
- 14. Как реализовать общую хеш-функцию в C++
- 15. Как реализовать «частную/ограниченную» функцию в C?
- 16. Как реализовать комбинацию клавиш CTRL-A в C++
- 17. Как реализовать функцию for_each как C++?
- 18. Рисование фортепиано
- 19. Как реализовать функцию SKActionTimingFunction?
- 20. Как реализовать сложную синусоидальную функцию?
- 21. Как реализовать счетчик частоты длины слова
- 22. Как реализовать функцию печати?
- 23. Как реализовать функцию puts()?
- 24. Как реализовать функцию MATLAB wavread() на C++?
- 25. как реализовать функцию с facebook C# SDK?
- 26. Как реализовать шаблон внутреннего класса функцию (C++)
- 27. Как реализовать функцию?
- 28. Как реализовать функцию типа invokeOnMainThread() в C/C++ linux?
- 29. C++ Builder - реализовать целую функцию в сборке
- 30. Как запустить функцию сокращения клавиш в JavaScript?
Я предлагаю вам ознакомиться с System.Math.Pow - http://msdn.microsoft.com/en-us/library/system .math.pow (VS.71) .aspx - это позволит вам обрабатывать как экспоненты, так и n-ые корни. –
Построение пианино, не так ли? –
Как это пианино? Кто-нибудь хочет объяснить PLS? –