在 METAPOST 中定义立方根函数

在 METAPOST 中定义立方根函数

我想使用 METAPOST 绘制立方根函数 $f(x) = \sqrt[3]{x+1}$ 的图形。但是,当我使用 vardef 宏时,如下所示

vardef f(expr x) = (x+1)**(1/3) enddef;

似乎无效。我们如何在 METAPOST 中定义此功能?

答案1

根据你的评论,您需要帮助的部分是让立方根对负数也起作用。那这个呢?

vardef cuberoot(expr x) = if x < 0: -1* fi ((abs(x))**(1/3)) enddef;
vardef f(expr x) = cuberoot(x+1) enddef;

show f(-1);
show f(2);
show f(1);
show f(-3);

end

输出:

>> 0
>> 1.44225
>> 1.25992
>> -1.25992

注意:除了if x < 0: -1* fi,您还可以使用if x < 0: - fi(它可能稍微快一点)。

相关内容