#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