在gnuplot中拟合时出现错误“Invert_RtR中的奇异矩阵”

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

我尝试像以前一样将数据拟合到 gnuplot 中。我只更改了公式,但总是出现错误“Invert_RtR 中的奇异矩阵”。我尝试改变所有参数的起始值,但没有帮助。 这是我的公式和参数(我只绘制第一个方程(f(x)):

f(x)=anfang_1*exp(-lag_1*Wachstumsrate_1) \
         *(-1+exp(lag_1*Wachstumsrate_1)+exp(Wachstumsrate_1*x))

anfang_1=-2
lag_1=0.1
Wachstumsrate_1=0.005

fit f(x) 'bsln.dat' using 1:2 \
    via anfang_1,lag_1,Wachstumsrate_1,Delta_1 

plot 'bsln.dat' using 1:2 ls 1 ti ''  ,\
     f(x) ls 1 ti 'B. subtilis mit DMSO'

这是我的数据:

0   -1.552841969
40  -1.337242168
80  -1.537602002
120 -1.522878745
160 -1.48148606
200 -1.468521083
240 -1.356547324
280 -1.346787486
320 -1.22184875
360 -1.070581074
400 -0.89279003
440 -0.795880017
480 -0.707743929
520 -0.649751982
560 -0.588380294
600 -0.549750892
640 -0.514278574
680 -0.48945499
720 -0.469800302
760 -0.448550002
800 -0.437707136
840 -0.425968732
880 -0.42136079
920 -0.416801226
960 -0.415668776
1000    -0.419075024
1040    -0.428291168
1080    -0.435333936
1120    -0.452225295
1160    -0.463441557
1200    -0.485452247
1240    -0.512861625
1280    -0.543633967
1320    -0.586700236
1360    -0.628932138
1400    -0.681936665
1440    -0.744727495
matrix plot gnuplot formula singular
1个回答
0
投票

您的拟合命令包括

via Delta_1
,但拟合函数 f(x) 不依赖于 Delta_1。因此,包含 f(x) 对所有拟合参数的导数并出现在 gnuplot 的 Marquardt-Levenberg 拟合算法中的雅可比矩阵是奇异矩阵。这最终导致了错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.