matlab数据拟合经验公式:y=a/(1+(a/667.5-1)*exp(b*x))y=[667.5687.671

问题描述:

matlab数据拟合
经验公式:y=a/(1+(a/667.5-1)*exp(b*x))
y=[667.5687.6717.4728.3761.6771.38789109991006.41003.21007.61013.31014.31019.510291050.61069.31069.610851104.911291189.61203.21209.31219.71234.11253.51334.61376.61383.2];
x=[12345678910111213141516171819202122232425262728293031];
希望能给出图像,a,b,给出具体做法
1个回答 分类:综合 2014-09-28

问题解答:

我来补答
clc;
clear;
x=1:31;
y=[667.5687.6717.4728.3761.6771.38789109991006.41003.21007.61013.31014.31019.510291050.61069.31069.610851104.911291189.61203.21209.31219.71234.11253.51334.61376.61383.2];
fun=inline('k(1)./(1+(k(1)/667.5-1)*exp(k(2).*x))','k','x');
beta=nlinfit(x,y,fun,[1000 0.8]);%迭代的初始值,大概给个值.
k=beta;
x1=1:0.2:31;
x_fit=k(1)./(1+(k(1)./667.5-1)*exp(k(2).*x1));
plot(x,y,'+',x1,x_fit);
legend('原数据点','拟合曲线');
xlabel 'X';
ylabel 'Y';
a=beta(1)
b=beta(2)
 
 
展开全文阅读
剩余:2000
上一页:解题方法 技巧
下一页:过程3