我想使用 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
(它可能稍微快一点)。