Ошибка при попытке построить более одного графика в Gnuplot - PullRequest
0 голосов
/ 29 сентября 2018

У меня проблема с gnuplot, я новичок, и я верю, что они могут мне помочь ... Я пытаюсь воспроизвести график этой ссылки (https://homepages.see.leeds.ac.uk/~amt6xw/Distance%20Learning/CFD5050TURB/node22.html РИСУНОК 4.5) и, к сожалению, я не получаюуспех.Диаграмма показывает только одну из кривых (ту, которая первая в коде), а последние две, которые я написал, дают ошибку (в легенде появляется много строк, а диаграммы нет), вы можете мне помочь?

И код также ищет ссылку только в строке «set trange [0:25]», что делает невозможным построение других графиков, мне нужно научиться определять несколько «диапазонов» для переменных.

reset

## CONFIGURAÇÕES DO ARQUIVO DE SAÍDA (http://www.gnuplotting.org/output-terminals/):

set terminal pngcairo size 800,600 enhanced font "Verdana,10"
set output "yPlus.png" 

# AJUSTE DAS MARGENS DO CONTEÚDO NO INTERIOR DA TELA:
# GUIA: l = left; r = right; t = top; b - bottom

set lmargin 7.5
set rmargin 3.5
set bmargin 3.5
set tmargin 1

set grid

# LEGENDAS LATERAIS:

set xlabel "r+" font "Verdana,10"
set ylabel "<u_{z}>+" font "Verdana,10"

# RANGE DO EIXO Y:

set parametric
set trange [0:25]

# RANGE DO EIXO X:

set logscale x 
set xrange [*:1000]
set format x "10^{%L}"

# LEGENDA DO GRÁFICO:

set key ins vert
set key top left
set key box

## CONFIGURAÇÕES DOS GRÁFICOS:

# SPALDING'S LAW OF THE WALL (https://homepages.see.leeds.ac.uk/~amt6xw/Distance%20Learning/CFD5050TURB/node22.html) (- 1/24*((k*t)**4)): 

# Karman's constant (k = 0.4):
k = 0.4187

# ...for a smooth wall (A = 0.1108):
E = 9.0

f(t) = t + 1/E*(exp(k*t) - 1 - k*t - 1/2*((k*t)**2) - 1/6*((k*t)**3))

plot f(t),t title "Spalding's Law of the Wall" with lines linetype -1

# LOGARITHIMIC OVERLAP:

g(y) = 1/k*log10(E)*y

plot for [y = 35:350] g(y),y title "Logarithimic overlap" with lines linetype -1

# LINEAR SUBLAYER:

plot for [t = 0:20] t,t title "Linear Sublayer" with lines linetype -1

1 Ответ

0 голосов
/ 30 сентября 2018

Если вы хотите построить все на одном графике / графике, вам нужно вызвать команду plot только один раз.Кроме того, чтобы использовать разные «диапазоны» для разных зависимостей на одном и том же графике, вы можете вручную изменить размер переменной t, как показано ниже.Например, поскольку t переходит от 0 к 25, функция scale1 преобразует это значение в [35; 350], как и предполагалось ...

set trange [0:25]

f(t) = t + 1/E*(exp(k*t) - 1 - k*t - 1/2*((k*t)**2) - 1/6*((k*t)**3))

g(y) = 1/k*log10(E)*y

scale1(t) = t*315./25 + 35
scale2(t) = t*20./25

plot \
    f(t),t title "Spalding's Law of the Wall" with lines linetype -1, \
    g(scale1(t)),scale1(t) title "Logarithimic overlap" with lines linetype -1, \
    scale2(t),scale2(t) title "Linear Sublayer" with lines linetype -1
...