MATLAB三次多项式曲线拟合代码详解
这段代码使用MATLAB实现了一个三次多项式曲线对给定曲线的拟合,并输出拟合后的曲线及多项式表达式。
首先通过clear; clc; clf;清空命令窗口、清空图像、清空当前坐标系,来确保开始时没有任何干扰。然后定义了一个从-1开始,以0.01为步长,一直到1的所有值的向量x,以及一个从-1开始,以0.2为步长,一直到1的所有值的向量xf。接着定义了一个函数y,表示给定曲线,以及一个函数yf,表示在xf上给定曲线的取值。这里使用了点乘运算符.^来表示x和xf的平方,因为在MATLAB中,点乘运算符会对向量中的每个元素进行运算。
然后使用polyfit函数对xf和yf进行拟合,拟合的次数为3,得到一个向量y1,表示拟合后的多项式系数。接着使用polyval函数根据拟合后的系数向量y1,生成一个新的曲线Y,来表示拟合后的曲线。再使用polyval函数对拟合点xf进行拟合,得到y2,以便后面的绘图使用。
最后使用plot函数将原函数曲线(x,y)、拟合后的曲线(x,Y)、拟合点(xf,yf)和拟合点拟合后的曲线(xf,y2)绘制出来,并使用legend函数添加图例。同时,使用poly2str函数将拟合后得到的多项式系数向量y1表示成对应的多项式的习惯表达式,并输出多项式表达式。最后使用title、xlabel和ylabel函数添加标题和标签,以使图像更清晰易懂。
原文地址: https://www.cveoy.top/t/topic/n4Dt 著作权归作者所有。请勿转载和采集!