用MATLAB拟合函数,关系式y=a/(b+x^(-c)),求参数a b c的值 5
XY=[25,3.1;100,6.06;225,7.99;400,9.52;625,10.81;900,11.93;1225,12.93;1600,13.84;2025,...
XY=[25,3.1;100,6.06;225,7.99;400,9.52;625,10.81;900,11.93;1225,12.93;1600,13.84;2025,14.65;2500,15.41;3025,16.14;3600,16.82;4225,17.47;4900,18.08;5625,18.65;6400,19.22;7225,19.75;8100,20.25;9025,20.73;10000,21.18];
给算一下吧!
有MATLAB的安装包么 32位的 发给我 呗~ 展开
给算一下吧!
有MATLAB的安装包么 32位的 发给我 呗~ 展开
展开全部
XY=[25,3.1;100,6.06;225,7.99;400,9.52;625,10.81;900,11.93;1225,12.93;1600,13.84;2025,14.65;2500,15.41;3025,16.14;3600,16.82;4225,17.47;4900,18.08;5625,18.65;6400,19.22;7225,19.75;8100,20.25;9025,20.73;10000,21.18];
y=XY(:,1);
x=XY(:,2);
plot(x,y)
f=@(a,x) a(1)./(a(2)+x.^(-a(3))); %拟合形式,数组a即代表[a,b,c]
a0=[0,8,1]; % 假设初始值
r=lsqcurvefit(f,a0,x,y);
hold on
plot(x,r(1)./(r(2)+x.^(-r(3))),'r--')
legend('拟合前','拟合后')
disp(r)
我有2013a的matlab,https://yunpan.cn/cLaNjSaDh7Y4p 访问密码 c27f
来自:求助得到的回答
展开全部
1
2
3
4
5
6
7
8
9
10
11
[x,I]=sort(x);y=y(I);%由于你的数字是杂乱的,我排列一下
f=@(a,x)a(1).*x.^(a(2))+a(3); %拟合形式,数组a即代表[a,b,c]
a0=[1,0.02,-5]; % 假设初始值
r=lsqcurvefit(f,a0,x,y);
%非线性拟合
%拟合结果保存在r=[a,b,c]
plot(x,y)
hold on
plot(x,r(1)*x.^r(2)+r(3),'r--')
legend('拟合前','拟合后')
disp(r)
2
3
4
5
6
7
8
9
10
11
[x,I]=sort(x);y=y(I);%由于你的数字是杂乱的,我排列一下
f=@(a,x)a(1).*x.^(a(2))+a(3); %拟合形式,数组a即代表[a,b,c]
a0=[1,0.02,-5]; % 假设初始值
r=lsqcurvefit(f,a0,x,y);
%非线性拟合
%拟合结果保存在r=[a,b,c]
plot(x,y)
hold on
plot(x,r(1)*x.^r(2)+r(3),'r--')
legend('拟合前','拟合后')
disp(r)
追问
我要结果 a= ,b= ,c= .
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
>> XY=[25,3.1;100,6.06;225,7.99;400,9.52;625,10.81;900,11.93;1225,12.93;1600,13.84;2025,14.65;2500,15.41;3025,16.14;3600,16.82;4225,17.47;4900,18.08;5625,18.65;6400,19.22;7225,19.75;8100,20.25;9025,20.73;10000,21.18];
>> x=XY(:,1);
>> y=XY(:,1);
>> syms t;
f=fittype('a/(b+t^(-c))','independent','t','coefficients',{'a','b','c'});
cfun=fit(x,y,f)
结果:
cfun =
General model:
cfun(t) = a/(b+t^(-c))
Coefficients (with 95% confidence bounds):
a = 1 (1, 1)
b = -2.647e-014 (-9.633e-014, 4.339e-014)
c = 1 (1, 1)
这里括号里的值是置信区间
>> x=XY(:,1);
>> y=XY(:,1);
>> syms t;
f=fittype('a/(b+t^(-c))','independent','t','coefficients',{'a','b','c'});
cfun=fit(x,y,f)
结果:
cfun =
General model:
cfun(t) = a/(b+t^(-c))
Coefficients (with 95% confidence bounds):
a = 1 (1, 1)
b = -2.647e-014 (-9.633e-014, 4.339e-014)
c = 1 (1, 1)
这里括号里的值是置信区间
追问
a=多少 b=多少 c=多少 我要结果谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询