如何在C#中實現以下功能?如何在C#中實現鋼琴鍵頻率功能?
回答
double F = 440.0 * Math.Pow(2.0, (n-49.0)/12.0);
+1,僅用於調用Math.Pow一次 – ram 2009-12-11 23:44:03
你是對的,方程可以簡化爲你的答案,但我做了一個直接的實現。 – 2009-12-11 23:44:53
440 * Math.Pow(Math.Pow(2, 1.0/12), n - 49)
+1,嚴格指向 – 2009-12-11 23:39:48
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)
而且,由於2 = 1.0594630943592952645618252949463 12根, 然後
double d = 27.5 * Math.Pow(1.0594630943592952645618252949463, (n-1))
所以......
double d = 27.5 * Math.Pow(1.059463094359295, (n-1));
我希望如果使用這個解決方案,就可維護性發表評論。 – 2009-12-12 03:06:39
你確定數學是正確的?嘗試n = 49.你應該得到440. – 2009-12-12 05:27:56
良好的抓住12的根2 = 1.0594630943592952645618252949463,而不是.083333333333333 ...我跑了Windows calc嚴重...我編輯糾正。 – 2009-12-12 16:11:52
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. 虛擬鋼琴UWP C中的黑鍵實現#
- 2. 快速傅立葉檢測鋼琴頻率在MATLAB
- 3. 在JavaScript中延遲播放鋼琴鍵
- 4. 滑過鋼琴鍵(swift/iOS)
- 5. 筆記綜合,諧波(小提琴,鋼琴,吉他,貝斯),頻率,MIDI
- 6. 在圖像上識別鋼琴鍵
- 7. 如何在iOS iPad應用中實現費率應用功能
- 8. 如何錄製鋼琴?
- 9. 如何在在線詞典中實現音頻(pronounciation)功能?
- 10. 鋼琴鍵 - 不重疊,現在不顯示
- 11. 鍵盤功能實現
- 12. 如何在網站上實現鍵盤功能快捷鍵?
- 13. 看看如何實現C++ 11功能
- 14. 功能功率C++
- 15. 繪製鋼琴
- 16. 在C++ builder的按鍵中實現關閉功能
- 17. Java GUI,使用JButton創建鋼琴鍵
- 18. 在C#中實現Oracle的RAWTOHEX功能
- 19. 如何在Cucumber中實現BeforeSuite功能
- 20. 如何在Flex中實現AJAX功能
- 21. 如何在Typo3中實現新功能?
- 22. 如何在jquerymobile中實現AutoComplete功能?
- 23. 如何在MySQL中實現initcap功能?
- 24. 功能如何do_raw_spin_lock在Linux中實現
- 25. 如何在PHP中實現此功能?
- 26. 如何在Odoo中實現此功能?
- 27. 如何在clisp中實現「doc」功能?
- 28. 我們如何才能實現120Hz - 240Hz的iOS頻閃率
- 29. 如何實現Facebook中的後期視頻功能
- 30. 如何實現MenuStrip功能?
我建議你熟悉System.Math.Pow - http://msdn.microsoft.com/en-us/library/system .math.pow(VS.71).aspx - 這將允許你處理指數和第n根。 – 2009-12-11 23:37:10
製造一架鋼琴,是嗎? – 2009-12-12 00:25:19
這是一架鋼琴嗎?任何人都在意解釋嗎? – 2009-12-14 22:54:48