You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Gnuplot绘制Kampyle of Eudoxus?代码报错求助

绘制Kampyle of Eudoxus的Gnuplot可行方法

错误原因

Gnuplot默认不支持直接在plot命令中使用隐函数等式(如x^4 = x² + y²),等号会被识别为无效语法,因此报错。

三种可行绘制方法

1. 显函数形式绘图

将原方程整理为显函数形式:y = ±√(x⁴ - x²),分别绘制正负两个分支即可。注意定义域为x ≤ -1或x ≥ 1(保证根号内非负)。

代码示例:

# 设置坐标轴范围
set xrange [-3:3]
set yrange [-5:5]
# 绘制正负分支
plot sqrt(x**4 - x**2), -sqrt(x**4 - x**2) title "Kampyle of Eudoxus"

2. 参数方程绘图

Kampyle of Eudoxus的参数方程为:

  • x = sec(t)
  • y = sec(t)·tan(t)
    其中t的取值范围是(-π/2, π/2)(避开t=±π/2以避免无穷大值)。

代码示例:

set parametric
# 设置参数t的范围,接近±π/2但不包含
set trange [-1.5:1.5]
plot sec(t), sec(t)*tan(t) title "Kampyle of Eudoxus"
# 关闭参数模式
unset parametric

3. 隐函数等高线绘图

如果你的Gnuplot版本≥5.0,可以通过等高线功能绘制隐函数:定义函数f(x,y) = x⁴ - x² - y²,然后绘制f(x,y)=0的等高线。

代码示例:

set contour base
# 指定只绘制值为0的等高线
set cntrparam levels discrete 0.0
unset surface
# 设置2D视图
set view map
# 提高采样精度,让曲线更平滑
set isosamples 1000
# 定义隐函数
f(x,y) = x**4 - x**2 - y**2
# 绘制等高线
splot f(x,y) title "Kampyle of Eudoxus"

内容的提问来源于stack exchange,提问作者Unix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:12:15