早教吧作业答案频道 -->其他-->
一个非线性拟合的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')
是这个程序,不知哪里错了?
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下输入: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))
在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))
看了 一个非线性拟合的matlab...的网友还看了以下:
含有定积分形式的非线性方程组 用matlab 该怎么求解~~Parameters a,b,c,d, 2020-05-16 …
矩阵函数 Matlab假设A是个矩阵,矩阵的乘方运算A^3是区别于点乘A.^3的,然后相应的矩阵函 2020-05-16 …
一个复数求导的问题f(z)=z*exp(a*cos(α)+b*sin(α)),z是复数,α是z的复 2020-06-04 …
矩阵指数问题若A=[10-20]那么e^A=?结果是[e1e^(-2)我用的matlab计算指数矩 2020-07-11 …
exp函数如何计算?EXP是指数函数.今天遇到一个公式,如下:A*EXP*(a+b)1/2假设A= 2020-07-15 …
有关原子核的问题质量数为214,质子数为82的Pb,放出一个beta粒子后,原子核变为啥?答案是质 2020-07-19 …
matlab高手进dsolve('D4y+4*a^4*y=0','x')ans=C2*(1/exp 2020-07-23 …
C语言!1若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是 2020-07-23 …
MATLAB单指数和双指数拟合x0=[036721081441802162522883243603 2020-07-23 …
exp函数如何计算?EXP是指数函数。今天遇到一个公式,如下:A*EXP*(a+b)1/2假设A= 2020-07-23 …