Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wxMaxima+;gnuplot=带扭曲的类Mathematica densitymap_Gnuplot_Maxima_Frequency Analysis - Fatal编程技术网

wxMaxima+;gnuplot=带扭曲的类Mathematica densitymap

wxMaxima+;gnuplot=带扭曲的类Mathematica densitymap,gnuplot,maxima,frequency-analysis,Gnuplot,Maxima,Frequency Analysis,我想以类似于维基百科“切比雪夫滤波器”页面上零极点图的方式绘制滤波器的频域响应:。特别是,我想要的是沿着Y轴将图切成两半,并使切口突出,以表示频率响应 到目前为止,我成功地做到了这一点: 可以看到制作好的焊缝,但并不突出,就好像刚焊接好一样。我希望你明白我的意思,因为我现在找不到更好的解释了 到目前为止,通过wxMaxima的draw3d()函数,我得到的是: draw3d(logx=false,logy=false,logz=true, enhanced3d=false,line_widt

我想以类似于维基百科“切比雪夫滤波器”页面上零极点图的方式绘制滤波器的频域响应:。特别是,我想要的是沿着Y轴将图切成两半,并使切口突出,以表示频率响应

到目前为止,我成功地做到了这一点:

可以看到制作好的焊缝,但并不突出,就好像刚焊接好一样。我希望你明白我的意思,因为我现在找不到更好的解释了

到目前为止,通过wxMaxima的draw3d()函数,我得到的是:

draw3d(logx=false,logy=false,logz=true,
enhanced3d=false,line_width=2,color=red,explicit(cabs(Hs(x+%i*y)),x,-0.01,0,y,-3,3),
enhanced3d=[z**.5,x,y,z],palette=gray,proportional_axes=xy,
/* cbrange=[0.05,100.95], */ view=[0,0],yv_grid=101,xu_grid=101,
explicit(cabs(Hs(x+%i*y)),x,-1,0,y,-3,3))$
如果前面定义了Hs,则表示:

Hs(s):=0.0248655/((s+0.210329)*(s^2+0.12999*s+0.521695)*(s^2+0.340319*s+0.22661))$

我不知道如何使频率响应突出,打印顺序似乎并不重要。有人知道这是否可以实现,如果可以,如何实现吗?

我不知道如何使用maxima实现这一点,但这里有一个仅使用gnuplot的解决方案。这将使用
+
伪文件名创建x=0的1D绘图,使用
splot
。复数用括号指定,
{x,y}
,即
i={0,1}

set terminal pngcairo size 1000,800
set output 'chebyshev.png'

N = 501
set isosamples N
set samples N
set pm3d interpolate 3,3

set palette gray
set cbrange [*:10]
set xrange [-1:0]
set yrange [-3:3]

set logscale z
set autoscale zfix

set view 120,278
unset key
set grid

Hs(s) = 0.0248655/((s+0.210329)*(s**2+0.12999*s+0.521695)*(s**2+0.340319*s+0.22661))

splot abs(Hs(x+{0,1}*y)) w pm3d, \
      '+' using (y = ($0/(N-1.0) * 6 - 3), 0):(y):(abs(Hs({0,1}*y))) w l lw 3
4.6.3的结果是:


感谢您的回复,我像机器人一样跟随您的脚步,但使用4.6 patchlevel 3(从终端),我得到了以下信息:。左下角有一些红色,但是。。。以下是我的步骤:gnuplot>set terminal pngcairo size 1000800终端类型设置为'pngcairo'选项是'background'#ffffff“fontscale 1.0 size 1000800'gnuplot>set output'chebyshev.png'gnuplot>N=501 gnuplot>set isosamples N gnuplot>set samples N gnuplot>set pm3d interpolate 3,3 gnuplot>set palete gray gnuplot>set cbrange[*:10]gnuplot>set-xrange[-1:0]gnuplot>set-yrange[-3:3]gnuplot>set-logscale z gnuplot>set-autoscale zfix gnuplot>set-view 120278 gnuplot>unset-key gnuplot>set-gridgnuplot>Hs(s)=0.0248655/(s+0.210329)*(s2+0.12999*s+0.521695)*(s2+0.340319*s+0.22661)gnuplot>splot abs({0,1}*y)))w l lw 3 Fontconfig错误:“misc.conf”,第50行:无效属性'name'Fontconfig错误:“misc.conf”,第59行:无效属性'name'Fontconfig错误:“misc.conf”,第70行:无效属性'name'gnuplot>我为这篇四行文章感到抱歉,点击似乎没有得到新行。另外,我不知道如何在这里添加
(在注释中)。代码看起来很好。我刚刚用上面的代码再次测试,它在Linux上使用4.6.3甚至4.4.4都很好。保存上面的代码(可能在开始时放置一个
重置
)在文件
chebyshe.gp
中,然后只需调用
gnuplot chebyshev.gp
或使用
从gnuplot提示符加载“chebyshev.gp”
。我不知道Fontconfig错误是否有一些意外的后果。可能尝试其他终端,例如
设置终端png大小1000800
。如果只使用<代码>splot“+”…
零件?