目录
polyfit函数应用场景
polyfit函数原理
polyfit函数语法及示例
1、polyfit函数应用场景
在进行光学仿真时,需要输入材料在不同波长下的折射率n和消光系数k,如果输入的材料nk值文件中没有期望的波长处nk值,这时需要对现有的nk值数据进行拟合,以此来获取期望波长处的nk值,从而进行后续的光学仿真。在FDTD中,如果导入nk值文件中没有期望的波长处nk值,会有两种处理方式:第一种,对现有nk值数据进行多项式拟合(matlab中可以用polyfit函数实现),来获得拟合曲线,从而推导出期望波长处的nk值;第二种,不进行拟合,软件将在现有nk值数据基础上,进行线性插值来获得期望波长处的nk值。这两种方法对比,经过拟合获得的nk值,更符合nk值随波长变化的趋势,算出来的结果相比于不拟合情况下更加准确。
在其它的类似场景中,如果需要用到在某一固定变量下x1对应的结果y1,而现有的数据中没有(x1,y1);在可以基于现有的数据(x,y)采用多项式拟合获得拟合曲线y=f(x),再获取y1=f(x1)。
2、polyfit函数原理
polyfit函数基于最小二乘法原理来进行多项式拟合,多项式公式如下所示:;
如下图所示,基于目前已有的数据(x1,x2,......,xm)和对应(y1, y2,......,ym)进行n次多项式拟合时构建的线性方程组;基于该方程组,使用最小二乘法原理来获取对应多项式的系数。(p1,p2,......,pn+1);
最小二乘法原理介绍可以参考下面链接: