我们在处理优化,拟合问题时候,经常需要计算loss函数,也就是说我们通过min{fx}求取函数中的位置系数,那么如果求取,
我们可以借助于matlab 中的fminsearch函数,直接针对函数f(x)求取极小情况下的X等未知数。
下面我们举一个例子来演示如何使用:
直接以最复杂场景为例
1. 新建一个函数文件,定义函数,这个就是loss函数,针对其中要用到的已知,变量可以通过声明成global 全局变量来实现。
function f(x)
2. 我们需要声明自变量的迭代初始点,x0=[1, 2 ] ;这里是一个数组,大小是根据我们定义的function f(x)中有几个自变量来确定的,
比如说你有两个自变量,那么X0就有两个,如果你有三个,那么就定义三个。
3. 如果你不需要对option做格外的设置,这个时候,就可以直接调用fminsearch(f,x0)进行迭代优化,求取函数最小值情况下,自变量未知数的解。
这个函数使用比较广泛,比如:直线最小二乘拟合,你可以把距离差的和作为loss函数,然后求这条曲线的表达式。
假设y=ax+b,已知点集合{xa},{yb}求直线表达式a,b的解。