Math 如何编写Prolog数学函数

Math 如何编写Prolog数学函数,math,prolog,Math,Prolog,我将如何在Prolog中编写以下算术表达式 sqrt(9*log10(X)/5,9) * (1-(2X*sqrt(X)/5))^(2/7) 平方根使用的是第9个根。Prolog实现之间存在一些差异,但我可以向您保证: 2X在任何地方都不起作用,也许除了计算机代数系统。 sqrt表示平方根。如果要取第9个根,必须使用分数指数,如X**1/9。 ISO使用^表示整数求幂,使用**表示浮点求幂。显然,2/7不是整数。 因此,您可能需要的表达式是: Y is (9 * log10(X) / 5) **

我将如何在Prolog中编写以下算术表达式

sqrt(9*log10(X)/5,9) * (1-(2X*sqrt(X)/5))^(2/7)

平方根使用的是第9个根。

Prolog实现之间存在一些差异,但我可以向您保证:

2X在任何地方都不起作用,也许除了计算机代数系统。 sqrt表示平方根。如果要取第9个根,必须使用分数指数,如X**1/9。 ISO使用^表示整数求幂,使用**表示浮点求幂。显然,2/7不是整数。 因此,您可能需要的表达式是:

Y is (9 * log10(X) / 5) ** (1/9) * (1 - (2 * X * sqrt(X) / 5)) ** (2/7).
注意我对空白的自由使用。毕竟是免费的

对于各种输入,我得到了很多未定义的错误,因为你不能将负数取为分数次幂。我怀疑这意味着我们中的一个人有一个优先错误,只有知道这个公式的用途并能与原始公式进行比较的人才能解决这个错误


在将来,用你已经尝试过的东西来补充你的问题是个好主意,B你的问题到底是什么。这个问题看起来很像“为我做事”,这可能就是为什么它被否决的原因。

您应该阅读Prolog中有关算术表达式/术语的大量可用文档。例如