matlab 拟合
x=[0 5 10 20 30 40 50 60 70 80 90 100]; y=[10 15 22 50 110 245 546 1215 2704 6018 13394 29810]; 希望给出表达式及相关程序,程序中含有作图的,谢谢
x=[0 5 10 20 30 40 50 60 70 80 90 100]; y=[10 15 22 50 110 245 546 1215 2704 6018 13394 29810]; 希望给出表达式及相关程序,程序中含有作图的,谢谢
答案:程序如下
>> x=[0 5 10 20 30 40 50 60 70 80 90 100]';
y=[10 15 22 50 110 245 546 1215 2704 6018 13394 29810]';
ft_ = fittype('a*exp(b*x)',...
'dependent',{'y'},'independent',{'x'},...
'coefficients',{'a', 'b'});
st=[10 0.1]
[curve, goodness]= fit(x,y,ft_,'Startpoint',st)
figure
plot(curve,'predobs',0.95);
hold on,plot(x,y,'b*')
st =
10.0000 0.1000
curve =
General model:
curve(x) = a*exp(b*x)
Coefficients (with 95% confidence bounds):
a = 9.996 (9.994, 9.999)
b = 0.08 (0.08, 0.08001)
goodness =
sse: 0.4422
rsquare: 1.0000
dfe: 10
adjrsquare: 1.0000
rmse: 0.2103
其他:我试过的了,可以画出来,希望对你有帮助,谢谢。
x=[0 5 10 20 30 40 50 60 70 80 90 100];
y=[10 15 22 50 110 245 546 1215 2704 6018 13394 29810];
% 拟合直线y=p(1)*x+p(2)
p=polyfit(x,y,1);
% 显示拟合前后直线,其中方框为拟合前数据,直线为拟合后的直线
yy=polyval(p,x);
plot(x,y,'s',x,yy)
%拟合的直线方程
poly2sym(p,'x') x=[0 5 10 20 30 40 50 60 70 80 90 100];
y=[10 15 22 50 110 245 546 1215 2704 6018 13394 29810];
p=fit(x',y','exp1')
plot(p,x,y,'ro');
title([num2str(p.a),'*exp(',num2str(p.b),'x)'])
上一个:我把matlab外部的工具箱文件夹复制在了matlab中的toolbox文件夹下,运行程序时还是说找不到我这个外部工具
下一个:如何用MATLAB算居民到指定地点(多个)的总人数(居民总是选择最短的路劲),谢谢