0

我有一个完美绘制正弦波图的代码

y = mgl_create_data_size(100,1,0);
mgl_data_modify(y,"0.4*y+0.1+sin(6*pi*x)",0);
gr = mgl_create_graph(WINDOW_WIDTH, WINDOW_HEIGHT);
mgl_plot(gr,y,". ","");
mgl_box(gr);

既然变量y是 MathGL 数据类型HMDT
,我将如何从中获取数值

我看到有功能mgl_data_get_value(y,i,j,0);

但它只接受长数据类型,它总是返回 NaN

4

1 回答 1

0

我找到了答案,我试图假设j为增量价值。

但是,基于反复试验,当我设置j0我得到所有100基于MathGL公式应用的图形值时0.4*y+0.1+sin(6*pi*x)

所以函数的假设mgl_create_data_size是如果数据是
使用= - X 轴值的总数= - 每个 X 值只有一个 Y 值= - 假设为 0,则没有 z 轴 的函数可以得到每个图形值是100,1,0nx,ny,nz
nx100
ny1
nz0

mgl_data_get_value(y,i,0,0)

10相同公式的值示例

var y1 = mgl_create_data_size(10,1,0)
mgl_data_modify(y1,"0.4*y+0.1+sin(6*pi*x)",0)
for(i in 0..10-1) {
   println(mgl_data_get_value(y1,i,0,0))
}

输出是

0.1
0.9660254037844387
-0.7660254037844384
0.09999999999999976
0.9660254037844391
-0.7660254037844387
0.09999999999999952
0.9660254037844401
-0.7660254037844377
0.09999999999999927

上述值在 Excel 中的图表是 这对于在数据生成中的应用数学中使用 MathGL 作为轻量级库之一非常有帮助在此处输入图像描述

于 2021-07-25T05:06:15.987 回答