MATLAB:模型函数计算出 NaN,拟合无法继续。尝试使用或收紧系数的上限和下限

问题描述 投票:0回答:0

在 MATLAB 上,我使用曲线拟合应用程序来拟合此模型(来自 Sheindorf–Rebuhn–Sheintuch“SRS”):

Q = k1*C1*(a11*C1+a12*C2)^(n1-1)

根据这些提供的数据:

% The x
C1 = [0 14.336 18.37041 35.612 48.91934 62.43846 84.19304 80.52791 98.55237 114.74732 121.88417];
% The y
C2 = [0 7.78606 18.16868 35.82219 40.7553 52.15498 58.57749 70.75204 81.02773 85.89886 94.22023];
% The z
Q = [0 35.44 44.81 47.172 55.1 59.22706 65.1487 69.83486 72.37768 75.673 85.26529];

经过多次尝试,我发现除非 (n1-1) >= 0,否则拟合不会继续,这意味着 n1 边界应该从 1 到 inf...在这种情况下这是不正确的,因为 n1 应该在 0 和 1 之间。

其实这个错误不符合逻辑,我的意思是为什么n1-1一定是正数? (我数学有那么差吗?)

顺便说一句,我在两个不同版本的 MATLAB(R2020a 和 R2022b)上尝试过此操作。

问候。

以下是“适合选项”的一些屏幕截图:

matlab nan curve-fitting toolbox
© www.soinside.com 2019 - 2024. All rights reserved.