含参数的函数泰勒展开式用matlab怎么求
1个回答
展开全部
clc;clear all
XY=[3.1,25;6.06,100;7.99,225;9.52,400;10.81,625;11.93,900;12.93,1225;13.84,1600;14.65,2025;15.41,2500;16.14,3025;16.82,3600;17.47,4225;18.08,4900;18.65,5625;19.22,6400;19.75,7225;20.25,8100,;20.73,9025;21.18,10000];
x=XY(:,1);
y=XY(:,2);
plot(x,y)
f=@(a,x) a(1)./(a(2)+x.^(-a(3))); %拟合形式,数组a即代表[a,b,c]
a0=[1,0.02,-5]; % 假设初始值
r=lsqcurvefit(f,a0,x,y);
hold on
plot(x,r(1)./(r(2)+x.^(-r(3))),'r--')
legend('拟合前','拟合后')
disp(r)
计算出:
a、b、c=
0.2082 -0.0000 3.3837
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询