我正在编写一个程序来检查多项式方程的所有可能根。首先,我需要找到所有可能的根,然后根据理论检查哪个根满足给定的方程。到目前为止,我能够找到常数项(即r)的整数除数和最高幂系数(即s)的除数,可能的根应该是r / s。我无法列出此列表。
这是我的程序(我是maxima的新手,可能有更好的代码)
kill(all)$
A:makelist(k,k,-5,5)$
a0:4$
an:5$
m:zeromatrix(1,length(A))$
n:zeromatrix(1,length(A))$
for i:1 thru length(A) do(
if mod(a0,A[i])=0 then
m[1,i]:A[i],
if mod(an,A[i])=0 then
n[1,i]:A[i]);
disp("The divisors of a0 are",m)$
disp("The divisors of an are",n)$
for i:1 thru 11 do(
for j:1 thru 11 do(
disp(m[1,i]/n[1,j])));
最后一个disp
语句应该将值r / s作为矩阵或列表。一旦发生这种情况,我可以检查列表中的元素f(x)= 0并得到根。有人能帮助我吗?