一个非线性拟合的matlab程序,不知哪儿错了yhat=beta(1)*exp(beta(2)./x1);x1=2000/3*[0 3 10 20 30 40];y1=800*ones(1,6)-8*[0 2.4 12.9 16.3 20.1 26.8];beta0=[8 2]';[beta,r,J]=nlinfit(x1',y1','volum',beta0);beta[YY,delta]=nlpredci('volum',x1'
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/26 15:16:21
一个非线性拟合的matlab程序,不知哪儿错了yhat=beta(1)*exp(beta(2)./x1);x1=2000/3*[0 3 10 20 30 40];y1=800*ones(1,6)-8*[0 2.4 12.9 16.3 20.1 26.8];beta0=[8 2]';[beta,r,J]=nlinfit(x1',y1','volum',beta0);beta[YY,delta]=nlpredci('volum',x1'
一个非线性拟合的matlab程序,不知哪儿错了
yhat=beta(1)*exp(beta(2)./x1);
x1=2000/3*[0 3 10 20 30 40];
y1=800*ones(1,6)-8*[0 2.4 12.9 16.3 20.1 26.8];
beta0=[8 2]';
[beta,r,J]=nlinfit(x1',y1','volum',beta0);
beta
[YY,delta]=nlpredci('volum',x1',beta,r,J);
plot(x1,y1,'k++',x1,YY,'r')
哪里错了啊?
function yhat=volum(beta ,x1)
yhat=beta(1)*exp(beta(2)./x1);
x1=2000/3*[0 3 10 20 30 40];
y1=800*ones(1,6)-8*[0 2.4 12.9 16.3 20.1 26.8];
beta0=[8 2]';
[beta,r,J]=nlinfit(x1',y1','volum',beta0);
beta
[YY,delta]=nlpredci('volum',x1',beta,r,J);
plot(x1,y1,'k++',x1,YY,'r')
是这个程序,不知哪里错了?
一个非线性拟合的matlab程序,不知哪儿错了yhat=beta(1)*exp(beta(2)./x1);x1=2000/3*[0 3 10 20 30 40];y1=800*ones(1,6)-8*[0 2.4 12.9 16.3 20.1 26.8];beta0=[8 2]';[beta,r,J]=nlinfit(x1',y1','volum',beta0);beta[YY,delta]=nlpredci('volum',x1'
三个数,求三个变量.效果肯定不是很好.
在Matlab下输入:edit zhidao_15.m,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=zhidao_15(para,x)
y0=para(1);
a=para(2);
b=para(3);
y=y0+a*x.^b;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
在Matlab下面输入:
x=[1,2,3,4,5,8]; %我这里多给一些数据
y=2.3+1.2*x.^1.302+0.1*rand(size(x)); %这里加了一些扰动
[para,res]=lsqcurvefit('zhidao_15',ones(1,3),x,y);
para',res
plot(x,y,'r*',x,zhidao_15(para,x))