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

如何调整Gnuplot复变函数绘图代码查看(7,0)即7+0i处函数行为

你当前使用的代码用于绘制复变函数 $f(z)=\frac{1}{z-7}$ 的相位彩色图,该函数的奇点就是你需要观测的 $7+0i$ 点,属于一阶极点,只需要调整坐标轴范围到包含该点即可查看对应行为特征,具体修改方案如下:

核心修改点

  • 替换原代码中的x轴范围配置:将set xrange [-6:6] noreverse nowriteback修改为覆盖7的区间,如果要局部放大奇点看细节可设置为set xrange [6:8] noreverse nowriteback,如果要兼顾原有观测区域同时覆盖奇点可设置为set xrange [-3:10] noreverse nowriteback
  • 同步调整y轴范围:如果选择局部放大奇点,建议同步将set yrange [-6:6] noreverse nowriteback修改为set yrange [-1:1] noreverse nowriteback,可以更清晰看到极点附近的相位旋转特征
  • (可选优化)局部放大后如果觉得绘制精度不够,可以将set isosamples 500, 500的数值调高到700~1000,获得更平滑的图像
  • (可选优化)极点附近函数模值会趋向无穷大,为了避免数值溢出导致的调色异常,可以将color(x,y)的定义修改为color(x,y) = hsv2rgb( Hue( rp(x,y), ip(x,y) ), log(1+abs(f(x,y))), 1),让饱和度变化更平缓

修改后完整代码(局部放大奇点版本)

set encoding utf8
set zlabel 'Im(z)'
set ylabel 'Re(z)'
unset key
set view map scale 1.2
set isosamples 700, 700
set samples 700
set size ratio 1 1,1
set style data lines
set title "Phase angle" 
set cblabel "Angulo de fase" 
set cblabel  offset character -2, 0, 0 font "" textcolor lt -1 rotate by -270
set cbrange [ -pi : pi ] noreverse nowriteback
set cbtics   ("0" -pi, "2π" pi)
set palette defined ( 0 0 1 1, 1 1 1 1 )
set xrange [6:8] noreverse nowriteback
set yrange [-1:1] noreverse nowriteback
set palette positive nops_allcF maxcolors 0 gamma 1.5 color model HSV 
Hue(x,y) = (pi + atan2(y,x)) / (2*pi)
phase(x,y) = hsv2rgb( Hue(x,y), sqrt(x**2+y**2) )
f(x,y) = 1/((x+y*{0,1})-7)
rp(x,y) = real(f(x,y))
ip(x,y) = imag(f(x,y))
color(x,y) = hsv2rgb( Hue( rp(x,y), ip(x,y) ), log(1+abs(f(x,y))), 1)
splot '++' using 1:2:(color($1,$2)) with pm3d lc rgb variable

观测特征说明

运行修改后的代码可以看到,在(7,0)点附近相位会绕该点旋转一周,符合一阶极点的相位特征,同时越靠近该点图像饱和度越高,对应函数模值趋向无穷大的特性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:48:03