используя уравнение для рисования кривой в gnuplot - PullRequest
0 голосов
/ 02 апреля 2019

Я хотел бы нарисовать кривую logW = a + b * logP, где a = 12, b = -0,8 R = -0,4 этой кривой.Я хотел бы использовать данные и посмотреть, как эта кривая соответствует данным.Могу ли я сделать это в gnuplot?

log(f(x)) = a+b*log(P)
a = 12, b = -0.8
fit f(x) 'data.txt' u 1:2 w p via a,b
plot f(x) 'data.txt' u 1:2

Звучит нормально?

1 Ответ

0 голосов
/ 02 апреля 2019

Вы близки, но везде есть небольшие проблемы. Давайте попробуем очистить его.

1) Вы должны определить само f (x), а не log (f (x)). Из вашего утверждения не ясно, но я предполагаю, что «P» является независимой переменной x?

f(P) = exp(a + b*log(P))

2) Команды gnuplot разделяются точкой с запятой, а не запятыми

a = 12; b = -0.8

3) «Подгонка» не является стилем печати, поэтому «с точками» не имеет смысла как часть команды подгонки

fit f(x) 'data.txt' using 1:2 via a,b

4) У команды 'plot' есть две отдельные части: данные и соответствующая ей кривая

plot 'data.txt' using 1:2 with points, f(x) with lines

...