использование уравнения для рисования кривой в gnuplot

#plot #gnuplot

#построение графика #gnuplot

Вопрос:

Я хотел бы нарисовать кривую 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:

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

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