cja 发表于 2007-6-15 11:24

确定参数范围的问题

函数关系式为:y=a1*exp(-x/b)+a2*cos(x)
现在有(x,y)8组或者更多,即
x=[0
    pi/4
    2*pi/4
    3*pi/4
    5*pi/4
    6*pi/4
    7*pi/4
    2*pi]
对应
y=[2.6111
    1.5679
    0.9551
    1.7766
    2.9097
    3.4808
    3.5557
    3.2658]
求a1、b、a2的取值范围?

gerry 发表于 2007-6-15 11:55

我初步的想法是:固定一个参数,画另外两个的相图,xy每组值可以给出一个范围,察看交集即可
但这样只得到图示,解析处理似乎可以对照下规划问题

pengweicai 发表于 2007-6-15 12:21

一般用曲线拟合的方法,你可以找找这方面的资料。

[ 本帖最后由 eight 于 2007-6-15 23:16 编辑 ]

花如月 发表于 2007-6-15 13:07

>> F=inline('x(1)*exp(xdata/x(2))+x(3)*cos(xdata)','x','xdata');
xdata =(0:8) *pi/4;% example xdata
xdata(5)=[];
ydata =; % example ydata
= lsqcurvefit(F, , xdata, ydata)
Optimization terminated: relative function value
changing by less than OPTIONS.TolFun.

x =

    1.5783    7.7519    0.2303


res =

    2.5994
   拟合出的不是范围而是结果,最小二乘拟合在函数原型已知的情况下,效果好事非常好的。
如果达不到要求,可以修改精度。helpsqcurvefit
页: [1]
查看完整版本: 确定参数范围的问题