2011-05-30 69 views
0

我是一个新的Matlab用户..所以它的大部分功率都非常不流行......其实我需要在非线性弯矩曲率曲线中得到最大值......我定义了理论最大值。和分钟。然后将程序中的曲率值分成小的离散增量......但问题是......最大值。值有时会出现在两个增量之间......所以程序错过了那个......并在找到最大值之前停止。值...请帮助我...我如何解决这个问题如何获得最大。非线性数据的值

+1

回答你如何计算最大/最小值?你可以发布一些代码吗? – astay13 2011-05-30 11:57:52

回答

2

您将需要近似曲线,使用取决于问题和曲线形状的插值/拟合方案以及已知的函数形式。样条可能是合适的,也可能不合适。

一旦你有一个可行的近似点连接点可以这么说,你最小化/最大化该功能。这是一个容易解决的问题。

0

有一种方法来解决非线性函数(找到最小/最大值) 它使用最小二乘非线性方法,我认为被称为lsqnonlin()。在优化工具箱中找到它。也解决()可能工作。另一种选择是使用模拟退火,但我不记得功能的名称。 对不起,我不提供代码。我从iphone