gpt4 book ai didi

plot - 如何绘制高斯函数图?

转载 作者:行者123 更新时间:2023-12-04 23:04:58 26 4
gpt4 key购买 nike

Gauss function对于正整数,在 x = 1/n 处具有无限数量的跳跃不连续性。

我想画高斯函数图。

使用 Maxima cas 我可以用简单的命令绘制它:

  f(x):= 1/x - floor(1/x);  plot2d(f(x),[x,0,1]);

enter image description here

但结果不好(x=0附近应该是here)

Maxima 还声称:

plot2d:表达式在绘图中的某处计算为非数字值
范围。

我可以定义 picewise 函数(在 x = 1/n 处的跳跃不连续性,对于正整数)

所以我尝试了:

define( g(x), for i:2 thru 20 step 1 do if (x=i) then x else (1/x) - floor(1/x));

但它不起作用。

我还可以使用 chebyshew 多项式来逼近函数(例如:Corless、Robert、Fillion、Nicolas 从后向误差分析的角度对数值方法的研究生介绍)

如何正确地做到这一点?

最佳答案

对于 plot2d,您可以设置 adapt_depthnticks 参数。默认值分别为 5 和 29。 set_plot_option()(即不带参数)返回当前的选项值列表。如果您增加 adapt_depth 和/或 nticks,则 plot2d 将使用更多点进行绘图。也许这让这个数字看起来足够好。

另一种方法是使用draw2d 函数(在draw 包中)并明确告诉它绘制每个线段。我们知道在 1/k 处存在不连续点,因为 k = 1, 2, 3, .... 我们必须决定要绘制多少段。比方说 20。

(%i6) load (draw) $
(%i7) f(x):= 1/x - floor(1/x) $
(%i8) makelist (explicit (f, x, 1/(k + 1), 1/k), k, 1, 20);
(%o8) [explicit(f,x,1/2,1),explicit(f,x,1/3,1/2),
explicit(f,x,1/4,1/3),explicit(f,x,1/5,1/4),
explicit(f,x,1/6,1/5),explicit(f,x,1/7,1/6),
explicit(f,x,1/8,1/7),explicit(f,x,1/9,1/8),
explicit(f,x,1/10,1/9),explicit(f,x,1/11,1/10),
explicit(f,x,1/12,1/11),explicit(f,x,1/13,1/12),
explicit(f,x,1/14,1/13),explicit(f,x,1/15,1/14),
explicit(f,x,1/16,1/15),explicit(f,x,1/17,1/16),
explicit(f,x,1/18,1/17),explicit(f,x,1/19,1/18),
explicit(f,x,1/20,1/19),explicit(f,x,1/21,1/20)]
(%i9) apply (draw2d, %);

关于plot - 如何绘制高斯函数图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49587741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com