2011-05-30 35 views
0

我是一個新的Matlab用戶..所以它的大部分功率都非常不流行......其實我需要在非線性彎矩曲率曲線中得到最大值......我定義了理論最大值。和分鐘。然後將程序中的曲率值分成小的離散增量......但問題是......最大值。值有時會出現在兩個增量之間......所以程序錯過了那個......並在找到最大值之前停止。值...請幫助我...我如何解決這個問題如何獲得最大。非線性數據的值

+1

回答你如何計算最大/最小值?你可以發佈一些代碼嗎? – astay13 2011-05-30 11:57:52

回答

2

您將需要近似曲線,使用取決於問題和曲線形狀的插值/擬合方案以及已知的函數形式。樣條可能是合適的,也可能不合適。

一旦你有一個可行的近似點連接點可以這麼說,你最小化/最大化該功能。這是一個容易解決的問題。

0

有一種方法來解決非線性函數(找到最小/最大值) 它使用最小二乘非線性方法,我認爲被稱爲lsqnonlin()。在優化工具箱中找到它。也解決()可能工作。另一種選擇是使用模擬退火,但我不記得功能的名稱。 對不起,我不提供代碼。我從iphone