其实这个很好解决的,只要最终结果是以list的形式表示就都可以通过"a[n]"来带入下一步的计算。
举例:
ex.1
> restart;
> eq1:=solve(2*x^3+x^2-3=0,x);
eq1 := 1, - 3/4 + 1/4 I 15^1/2 , - 3/4 - 1/4 I 15^1/2
> x[1]:=eq1[1]+4;
x[1] := 5
> x[2]:=eq1[2]+I;
x[2] := -3/4 + I + 1/4 I 15^1/2
通过把方程2*x^3+x^2-3=0定义为eq1, 就可以用eq1[n]来调出所需要的根。
再举例:
ex2.
> restart;
> eq2:=solve({x+y=3,(x-y)^2+(x-2*y)=1},[x,y]);
eq2 := [[x = 2, y = 1], [x = 1/4, y = 11/4]]
> A:=eq2[2][1]+1;
A := x + 1 = 5/4
> B:=eq2[1][1]+2;
B := x + 2 = 4
同理,解得此二元二次方程两组解。 注意这里用了两个中括号,以eq2[2][1]为例: eq2定义为我的方程组,第一个中括号[2]告诉maple我想要屏幕所显示的第二组解,而第二个中括号[1]告诉maple我想要第二组解得第1个数,即x2。同理eq2[1][1]就是x1
需要注意的地方是,solve()命令又两个部分组成,第一部分是方程/方程组,方程之间用逗号隔开,所有方程式用大括号括起来;第二部分是所求未知数,之间同样用逗号隔开,所有未知数要用中括号(!)括起来。
其实楼上说的也没错...多看看maple help有很大帮助的,里面每个命令都有举例的
温馨提示:内容为网友见解,仅供参考