Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

different behaviour gnuplot4 and 5 concerning "Implied independent variable y not found in fit function"

1,045 views
Skip to first unread message

hugoc...@gmail.com

unread,
Mar 21, 2019, 11:02:41 AM3/21/19
to
In a batch-file which worked fine for Gnuplot 4, I had the following lines:
f(x) = a*10e-8*(exp(x/b)-1)
err1(y)=0.01*0.033*y+2e-9
err2(y)=0.01*0.0031*y+20e-9
err3(y)=0.01*0.0034*y+200e-9
err4(y)=0.01*0.0045*y+2e-6
error(y)=(y<10e-6)? err1(y):(y<100e-6)? err2(y):(y<1e-3)? err3(y):err4(y)
a=30e-3
b=50e-3
fit f(x) '1n4148_linstep_1na_10ma.dat' using ($1):($2):(error($2)) via a,b

This worked fine in Gnuplot 4, however when I try this in Gnuplot 5, I get the following error message:
> Implied independent variable y not found in fit function.
> Assuming version 4 syntax with zerror in column 3 but no zerror keyword.


Does anyone here how to make the batch-file work again?

kind regards,
Hugo Coolens

Karl Ratzsch

unread,
Mar 21, 2019, 5:02:24 PM3/21/19
to
Am 21.03.2019 um 16:02 schrieb hugoc...@gmail.com:
> In a batch-file which worked fine for Gnuplot 4, I had the following lines:
> f(x) = a*10e-8*(exp(x/b)-1)
> err1(y)=0.01*0.033*y+2e-9
> err2(y)=0.01*0.0031*y+20e-9
> err3(y)=0.01*0.0034*y+200e-9
> err4(y)=0.01*0.0045*y+2e-6
> error(y)=(y<10e-6)? err1(y):(y<100e-6)? err2(y):(y<1e-3)? err3(y):err4(y)
> a=30e-3
> b=50e-3
> fit f(x) '1n4148_linstep_1na_10ma.dat' using ($1):($2):(error($2)) via a,b
>
> This worked fine in Gnuplot 4, however when I try this in Gnuplot 5, I get the following error message:
> > Implied independent variable y not found in fit function.
> > Assuming version 4 syntax with zerror in column 3 but no zerror keyword.
>

It's only a warning, not an error. Doesn't the fit converge?

I tried this:

set xr [0:1e-3]
fit f(x) '+' using ($1):(f($1)):(error(f($1))) via a,b

where gp of course can't compute errors from the perfect data, but
otherwise works fine.

To get rid of the warning, you specify to which variable the
additional error column refers:

fit f(x) '1n4148_linstep_1na_10ma.dat' using
($1):($2):(error($2)) yerror via a,b

(you can also give "zerror" or "error z", that's all the same if you
only have one dependent and one independent variable.)

I understand the warning to be just one warning, not two: You gave
three columns, but the fit function only has one variable. That
makes gnuplot assume (correctly,) that you don't have two
independent variables, but one, plus an additional column with
y(==z)-errors.


Best, Karl

hugoc...@gmail.com

unread,
Mar 22, 2019, 4:14:19 AM3/22/19
to
Thanks for the help offered. The fit did indeed still converge and the warning disappeared by adding yerror before via a,b

kind regards,
Hugo
0 new messages