您好,我正在尝试使用指数方程式的一些数据点。

100意见(最近30天)
Krish
Krish 2012年12月13日
你好,
一世有一组实验x和y值。通过最小化来自等式的实验y和y之间的平方和,我尝试通过这些数据点来符合这些数据点的指数方程。指数函数有两个常量需要更改以最小化错误。使用Excel中的求解功能非常相似, 在哪里您给出了启动猜测值,求解器尝试找到解决方案帽满足最小错误/目标。
对不起,我是第一次Matlab用户,因此需要一些额外的帮助。提前致谢。

答案(3)

哑光歌格
哑光歌格 2012年12月13日
嗨克里希什,
有几种不同的方法来做这件事。您是否有优化工具箱或曲线拟合工具箱?如果是这样,请键入
版本
在Matlab提示符'>>',看看是否列出了优化工具箱或曲线拟合工具箱。两者都让这种事情更容易,如果可用,我会使用这些工具箱。
如果所有您拥有的基本MATLAB,您可以这样做:
%x和y是变量
Expfn = @(p,xd)p(1)* exp(p(2)* xd);%定义指数函数
errfn = @(p)sum((expfn(p,x)-y)。^ 2);%定义了SUMR-SQUARED错误
pfit = fminsearch(errfn,[0 0]);%运行最小化器
绘图(x,y,“波”);抓住;%绘制你的原始数据
绘图(x,expfn(pfit,x),'r-');%绘制拟合数据
要了解这一点,您应该在匿名功能和“Fminsearch”功能上搜索文档。
1条评论
Krish
Krish 2012年12月14日
马特,
对不起我没有曲线拟合工具/优化工具。因此不得不选择另一种选择。这是我试图适应的函数:-
x = [10,20,40,80];Y = [0.1,0.2,0.3,0.4];((c1 * exp(-c2 /(r * t)))* x)/(1 +((c1 * exp(-c2 /(r * t))* x))
C1和C2是我需要找到适合将通过EXPT数据点的曲线的常量
我理解您的代码,但我需要获得C1和C2的值,然后使用它来绘制X从1到100的1个增量,并获得相应的Y值,显示实验和模型之间的错误相关性。
再次感谢你的时间和精力。

登录评论。


哑光图
哑光图 2012年12月14日
编辑:哑光图 2012年12月14日
>> X = sort(rand(1,10)*30);%说这是我们的x数据。
> Y = 14*exp(3*X);%说这是_unknown_等式。
>> PP = Polyfit(x,log(y),1);%仅获得14,3。
>> PP(2)= EXP(PP(2))
PP =
3.0000 - 14.0000
PP应该看起来很熟悉!

艾伦韦斯
艾伦韦斯 2012年12月14日
文档有 一个解决的例子 这类似于你想要做的事情。
艾伦韦斯
MATLAB数学工具箱文档

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!