matlab中的指数曲线拟合问题,我有一个函数,他的格式是y=exp(-x/a)y=exp(-x/a)我想要算出a的值.x,y是数组plot(x,y)y=log(y)/log(exp(1));p=polyfit(x,y,1),但是算出来是两个数.因为polyfit是按y=ax+b的形式算得.不知
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/19 14:07:49
![matlab中的指数曲线拟合问题,我有一个函数,他的格式是y=exp(-x/a)y=exp(-x/a)我想要算出a的值.x,y是数组plot(x,y)y=log(y)/log(exp(1));p=polyfit(x,y,1),但是算出来是两个数.因为polyfit是按y=ax+b的形式算得.不知](/uploads/image/z/1745146-10-6.jpg?t=matlab%E4%B8%AD%E7%9A%84%E6%8C%87%E6%95%B0%E6%9B%B2%E7%BA%BF%E6%8B%9F%E5%90%88%E9%97%AE%E9%A2%98%2C%E6%88%91%E6%9C%89%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%2C%E4%BB%96%E7%9A%84%E6%A0%BC%E5%BC%8F%E6%98%AFy%3Dexp%28-x%2Fa%29y%3Dexp%28-x%2Fa%29%E6%88%91%E6%83%B3%E8%A6%81%E7%AE%97%E5%87%BAa%E7%9A%84%E5%80%BC.x%2Cy%E6%98%AF%E6%95%B0%E7%BB%84plot%28x%2Cy%29y%3Dlog%28y%29%2Flog%28exp%281%29%29%3Bp%3Dpolyfit%28x%2Cy%2C1%29%2C%E4%BD%86%E6%98%AF%E7%AE%97%E5%87%BA%E6%9D%A5%E6%98%AF%E4%B8%A4%E4%B8%AA%E6%95%B0.%E5%9B%A0%E4%B8%BApolyfit%E6%98%AF%E6%8C%89y%3Dax%2Bb%E7%9A%84%E5%BD%A2%E5%BC%8F%E7%AE%97%E5%BE%97.%E4%B8%8D%E7%9F%A5)
matlab中的指数曲线拟合问题,我有一个函数,他的格式是y=exp(-x/a)y=exp(-x/a)我想要算出a的值.x,y是数组plot(x,y)y=log(y)/log(exp(1));p=polyfit(x,y,1),但是算出来是两个数.因为polyfit是按y=ax+b的形式算得.不知
matlab中的指数曲线拟合问题,我有一个函数,他的格式是y=exp(-x/a)
y=exp(-x/a)
我想要算出a的值.x,y是数组
plot(x,y)
y=log(y)/log(exp(1));
p=polyfit(x,y,1),
但是算出来是两个数.因为polyfit是按y=ax+b的形式算得.
不知哪位高人能指导我一下.
对不起,我可能没有描述清楚.其实是我有x,y两个数组,分别化为x,y轴,画出的点大概就是指数分布,应该大概符合y=exp(-x/a)的表达式,我就想求出a而已.大家回答的已经先给了a的值,和我的目的不同吧.希望大家继续帮助我
matlab中的指数曲线拟合问题,我有一个函数,他的格式是y=exp(-x/a)y=exp(-x/a)我想要算出a的值.x,y是数组plot(x,y)y=log(y)/log(exp(1));p=polyfit(x,y,1),但是算出来是两个数.因为polyfit是按y=ax+b的形式算得.不知
a=0.3145;
x=-0.3:0.01:3;
y=exp(-x/a);
plot(x,y)
ly=log(y);
p=polyfit(x,ly,1)
%拟合出来的p(1)是斜率,p(2)是截距
%理论上p(2)应当等于0
%这里的斜率与你的a有a=-1/p(1)
apoly=-1/p(1)
我们是没有数据的情况下,才生成数据让你看一下,怎么操作啊.
你如果有数据的话,你将前三行,改成你的数据.
比如你的数据
x=[1,2,3,4,5,6,7];
y=[7,6,5,4,3,2,1];
这样子.