最大值:如何使两个多项式的商成为多项式
maxima: how to make a quotient of two polynomials a polynomial
我正在尝试将两个多项式除以最大值:
f(x,y) = x*y;
g(x,y) = x;
如何将它们的除法结果保存为新的多项式 h(x,y)?我试过这个:
h(x,y) := quotient(f(x,y),g(x,y));
它没有用,因为要求 h(0,0) 给了我 "division by zero" 错误。
我只需要 f 可以被 g 整除的情况的解决方案。
这里发生了几件事。 (1) 记住“:”是赋值运算符; “=”表示等式或等式,而“:=”是函数定义。对于 f
和 g
,可以使用“:”或“:=”获得可行的解决方案;我将在下面展示两者。
(2) “:=”中函数定义的右侧不计算(甚至简化),因此当您写 h(x, y) := quotient(...)
时,不计算商,并且h
的定义包含对 quotient
的调用。当您调用 h(0, 0)
时,您将使用 x = 0 和 y = 0 计算 quotient
,这会产生一个数字而不是符号表达式。
我想你想要的是定义一个函数 h
使得 h(x, y)
是 f
和 g
在 x
处计算的商和 y
。如果是这样,这里有一个解决方案,对 f
和 g
.
使用“:”
f : x*y;
g : x;
define (h(x, y), quotient(f, g));
define
计算函数体(第二个参数),所以在定义函数之前进行商。
Maxima 最喜欢表达式,但也可以在这里将 f
和 g
定义为函数。
f(x, y) := x*y;
g(x, y) := x;
define (h(x, y), quotient(f(x, y), g(x, y)));
我知道这个东西有点令人困惑,因为有不止一种方法可以做到。
我正在尝试将两个多项式除以最大值:
f(x,y) = x*y;
g(x,y) = x;
如何将它们的除法结果保存为新的多项式 h(x,y)?我试过这个:
h(x,y) := quotient(f(x,y),g(x,y));
它没有用,因为要求 h(0,0) 给了我 "division by zero" 错误。
我只需要 f 可以被 g 整除的情况的解决方案。
这里发生了几件事。 (1) 记住“:”是赋值运算符; “=”表示等式或等式,而“:=”是函数定义。对于 f
和 g
,可以使用“:”或“:=”获得可行的解决方案;我将在下面展示两者。
(2) “:=”中函数定义的右侧不计算(甚至简化),因此当您写 h(x, y) := quotient(...)
时,不计算商,并且h
的定义包含对 quotient
的调用。当您调用 h(0, 0)
时,您将使用 x = 0 和 y = 0 计算 quotient
,这会产生一个数字而不是符号表达式。
我想你想要的是定义一个函数 h
使得 h(x, y)
是 f
和 g
在 x
处计算的商和 y
。如果是这样,这里有一个解决方案,对 f
和 g
.
f : x*y;
g : x;
define (h(x, y), quotient(f, g));
define
计算函数体(第二个参数),所以在定义函数之前进行商。
Maxima 最喜欢表达式,但也可以在这里将 f
和 g
定义为函数。
f(x, y) := x*y;
g(x, y) := x;
define (h(x, y), quotient(f(x, y), g(x, y)));
我知道这个东西有点令人困惑,因为有不止一种方法可以做到。