高精度绘图 Julia

问题描述 投票:0回答:1

我需要绘制一个向量来检查时间步长后的平滑度。我使用 BigFloats 进行计算,因为我需要大约 30 位有效数字的精度。然而,当我绘制曲线时,它会产生直线和阶梯状函数,而不是预期的平滑指数。

以下是作为步骤一部分的行的片段: BigFloat[100.0000000000000415218052481750617286013320903044045041396609898380148595444762, 100.00000000000003882656288990995143 41100382204524156891968983697369426488798809, 100.0000000000000363062727363085762292325632186834493337517224584792054527723 356, 100.0000000000000339495783786150261012296921512433605812091199343376652161950677, 100.00000000000003174586056951745052 28098510722911315751354700135345534031890935, 100.0000000000000296851893728983635324822871626469026022898138761551200002654 96, 100.0000000000000277582794196160825883609682726800727787249223580582615164937514, 100.000000000000025956448067700183928 9595896200349651337934245121726075948266956, 100.00000000000002427157627843112521019071391021430320812353948378938378839553 68, 100.0000000000000226960720320119401198918779256182953401953801932430097596985907, 100.000000000000021222836117983292728 2805903123784250581905172324680939364646929]

我尝试过使用 Makie、Plots 和 Plotly,但没有真正成功。一般来说,我对 Julia 很陌生,所以也许我可以设置其中一个设置,因为我一直在运行基本的绘图(x,y)命令来绘制曲线。上面的向量明显随着每个值而减小,所以我应该在图中看到这一点

plot julia precision bigfloat
1个回答
0
投票

离散数据点图始终就是这样:离散数据点图,无论它们的精度是多少。默认情况下,Plots.jl 将用一条线连接每个数据点。其他一些绘图库可以选择在点之间进行样条插值,或者有些也可以默认进行。这种插值看起来会很平滑,但它只是数据驱动的插值。如果您想要一个,您可以使用 DataInterpolations.jl 来实现。它确实包括 Plots.jl 的绘图配方。

“检查一个时间步长后的平滑度”到底是什么意思?您到底打算如何做到这一点?您不应该依赖图形方法来实现此目的。

如果您想检查数据的平滑度,最好为

maximum(diff(data)) < threshold
设置阈值(或重新调整的版本),或者研究更高级的方法来在数字上确保平滑度,例如通过 FiniteDifferences.jl 使用数据导数的有限差分近似。

© www.soinside.com 2019 - 2024. All rights reserved.