具有自变量的非线性拟合作为积分界

时间:2013-11-18 17:57:02

标签: matlab

我正在尝试使用 Matlab 将数据集(使用向量 x y )拟合到函数 x(y ),其中 y 显示为积分的上限,而拟合参数是下限。

我定义了两个函数:

p = @(x,a) sqrt((1 - x.^2 / a.^2).^(-2) - 1)
x = @(y, a, y0, x0) quad(@(x) 1 ./ p(x,a), y0, y) + x0

我的数据点存储在名为data的数据集中。

我现在正试着打电话:

nlinfit(data.y, data.x, @(c, y) x(y, 0.0027, c(1), 0.001), 0.00001)

但是,会生成以下错误:

Error using nlinfit (line 142)
Error evaluating model function '@(c,y)x(y,0.0027,c(1),0.001)'.
Caused by:
    Error using quad (line 66)
    The limits of integration must be scalars.

如何说服 Matlab y0进行非线性拟合?

我是 Matlab 的新手。但是,我已经用 Mathematica 解决了这个问题只有三行,所以我想我做了一个相当简单的错误......

0 个答案:

没有答案