[环境:MATLAB 64位,Windows 7,Intel I5-2320]
我想对实验数据y
进行RMS拟合,所以我最小化了以下函数(使用fminsearch
):
minfunc = rms(y - fitfunc)
从一般的角度来看,最小化是否有意义:
minfunc = sum((y - fitfunc) .^ 2)
而不是(在最小化之后)只做minfunc = sqrt(minfunc / N)
以获得合适的RMS错误?
要重新解决这个问题,每次不执行fminsearch
和sqrt
,1/(N - 1)
会节省多少时间(大致,百分比)?如果我的CPU / MATLAB速度太快以至于不能将性能提高至少百分之一,我不想降低我的代码的可读性。
更新:我尝试过简单的测试,但结果并不明确:取决于minfunc
的实际值,fminsearch
需要更多或更少的时间。
答案 0 :(得分:0)
表现问题的一般答案:
如果您只想弄清楚什么是更快的,请设计基准并运行几次。
通过提供一般信息,您不太可能确定哪种方法的速度提高1%。