【问题标题】:RMS minimization speed-upRMS 最小化加速
【发布时间】:2012-06-18 12:44:43
【问题描述】:

[环境:MATLAB 64位,Windows 7,Intel I5-2320]

我想将函数 RMS 拟合到实验数据 y,因此我正在最小化以下函数(通过使用 fminsearch):

minfunc = rms(y - fitfunc)

从一般的角度来看,最小化是否有意义:

minfunc = sum((y - fitfunc) .^ 2) 

然后(在最小化之后)只需执行 minfunc = sqrt(minfunc / N) 即可获得拟合 RMS 误差?

为了重新提出这个问题,fminsearch 每次不执行sqrt1/(N - 1) 可以节省多少时间(大约以百分比计)?如果我的 CPU / MATLAB 速度如此之快,以至于它不会将性能提高至少百分之一,我不想降低我的代码的可读性。

更新:我尝试过简单的测试,但结果并不清楚:取决于minfunc 的实际值,fminsearch 需要或多或少的时间。

【问题讨论】:

  • 通常,如果某些东西运行得足够快,那么优化并不紧迫。您的数据有多大?
  • 大概是1000点,但是因为是优化过程,所以minfunc被调用了10000次左右。
  • 我原来的问题实际上有一个错误:我写了std,意思是rms。仅当函数垂直以 0 为中心时才相同。

标签: performance matlab optimization


【解决方案1】:

性能问题的一般答案:

如果您只是想找出更快的方法,请设计一个基准并运行几次。

仅提供一般信息,您不太可能确定哪种方法快 1%。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 2012-04-16
    • 2012-04-28
    • 2014-03-26
    • 2016-01-16
    • 2018-12-14
    相关资源
    最近更新 更多