【MATLAB】polyfit

您所在的位置:网站首页 matlab求三角函数的解 【MATLAB】polyfit

【MATLAB】polyfit

2023-06-23 09:23| 来源: 网络整理| 查看: 265

polyfit - 多项式曲线拟合

语法 p = polyfit(x,y,n) [p,S] = polyfit(x,y,n) [p,S,mu] = polyfit(x,y,n)

说明 p = polyfit(x,y,n) 返回阶数为 n 的多项式 p(x) 的系数,该阶数是 y 中数据的最佳拟合(在最小二乘方式中)。p 中的系数按降幂排列,p 的长度为 n+1,p(1)为最高次幂系数即n次幂系数 p(x)=p(1)*x^n+p(2)*x^(n−1)+...+p(n)*x+p(n+1). [p,S] = polyfit(x,y,n) 还返回一个结构体 S,后者可用作 polyval 的输入来获取误差估计值。

官方例程

 将多项式与三角函数拟合

x = linspace(0,4*pi,10);%10个等间距点 y = sin(x); n=7;%阶数 p = polyfit(x,y,n) x1 = linspace(0,4*pi);%100个等间距点 y1 = polyval(p,x1); figure plot(x,y,'o') hold on plot(x1,y1) hold off p = -0.0001 0.0028 -0.0464 0.3702 -1.3808 1.9084 -0.1141 0.0002

 

获取拟合公式函数

X=0:10; Y=X+1; [P,strFormula]=get1NiheFormula(X,Y) function [P,strFormula]=get1NiheFormula(X,Y)%获得二元1次拟合函数 %P为阶数为 n 的多项式 P(x) 的系数,P(1)最高次项系数 N=1;%N次拟合 P = polyfit(X,Y,N);%N次函数拟合 P=round(P,2);%四舍五入保留2位小数 strP1=num2str(P(1));%最高位 strP2=num2str(P(2)); if strP2(1)~='-' strP2=['+',strP2]; end strFormula=['y=',strP1,'*x',strP2]; end function [P,strFormula]=get2NiheFormula(X,Y)%获得二元2次拟合函数 %P为阶数为 n 的多项式 P(x) 的系数,P(1)最高次项系数 N=2;%N次拟合 P = polyfit(X,Y,N);%N次函数拟合 P=round(P,2);%四舍五入保留2位小数 strP1=num2str(P(1));%最高位 strP2=num2str(P(2)); strP3=num2str(P(3)); if strP2(1)~='-' strP2=['+',strP2]; end if strP3(1)~='-' strP3=['+',strP3]; end strFormula=['y=',strP1,'*x^2',strP2,'*x',strP3]; end P = 1 1 strFormula = 'y=1*x+1'



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3