GNUPLOT-“设置虚拟”问题

问题描述

嘿,我想绘制一些函数,但虚拟变量有问题。每当我想绘制第二个图形gnuplot时,都不会定义虚拟M或x,但我不知道为什么。它不一定需要具有不同的虚拟变量,但它将有助于跟踪情况。否则,我想了解为什么我的代码无法用于进一步的绘图。对我来说,虚拟变量只是用于图上x轴上每个点的变量。也许我错了? 我希望有人能帮助我吗?

reset
set term qt

d = 0.01
G = 81.0E9
k = 2.02
g = 9.81
E = 210.0E9
v = 0.28
A = 0.12 * 0.12
tau_max = 100.0E6
U0 = 3.0

IP = pi * d / 32.0

#Plot und Berechnung für die Wägezelle

set title "Wägezelle - U_B/U_0" font "times new roman,30"
set xrange [0:10.0]
set yrange [0:45.0]
set xlabel "m [kg]" font "times new roman,25"
set ylabel "U_{Bsoll}/U_0 * 10^9" offset -5 font "times new roman,25"
set xtics nomirror font "times new roman,20"
set ytics 5 font "times new roman,20"

set lmargin 15
set bmargin 5

set dummy m

y(m) = m * g * (1 + v) * k / 2 / E / A * 1E9

plot \
y(m) w l lc "red" lw 2 notitle

pause mouse any

#Plot und Berechnung Torsionsstab

set title "Drehmoment" font "times new roman,30"
set xrange []
set yrange []
set xlabel "" font "times new roman,25"
set ylabel "" font "times new roman,25"
set xtics font "times new roman,20"
set ytics font "times new roman,20"

set dummy,M,x

tau(M) = M * d / 2 / IP
epsilon(M) = M * d / 4 / G / IP

 Ub(x) = k * epsilon(M) * U0

plot \
epsilon(M) w l lc "blue" title "{/symbol e}_(M)",\
tau(M) w l lc "red" title "{/symbol t}_(M)"

pause mouse any

#plot \
#Ub(x) w l

pause mouse any

解决方法

据我了解,help dummy您只能为plot设置一个虚拟变量,例如plot xsplot的两个变量,例如splot x*y。对于参数模式,plot的标准伪变量为tsplot uv的标准伪变量。

来自help dummy

默认情况下,如果处于参数或极性模式,gnuplot假定plot命令的自变量或“虚拟”变量为“ t”,否则为“ x”。类似地,splot命令的自变量为参数模式下的“ u”和“ v”(极坐标模式下不能使用splot),否则为“ x”和“ y”。

使用更有意义的物理名称或常规名称来调用虚拟变量可能更方便。

您之前设置了set dummy m,并试图通过set dummy,M,x设置3个虚拟变量。因此plot M将不起作用,因为m仍然是第一个虚拟变量,对于plot而言,您只能使用一个。