Mathematica学习(3)-solve变量提取

转自:https://wenda.so.com/q/1459256494726593?src=170

由于Mathematica把方程的解表示为嵌套列表,因此不能把它作为其它数学结构的输入,但是有两种方法可以调用其中的值,而不必采用照抄或粘贴的方法.

    (a)如果希望利用由Solve得到的解计算表达式的值,可以利用取代运算符/. ,这样Mathematica就会自动带入相应的值.

    (b)由于解就是列表,因此可以用Part或[[]]从列表中“提取”解.

在下面两个例子中演示这些方法的使用.

假设要计算下述方程所有根的平方和:

x^6-21x^5+175x^4-735x^3+1624x^2-1764x+720=0     

为此,先利用Solve命令求解出方程的所有根.

solutions=Solve[x^6-21x^5+175x^4-735x^3+1624x^2-1764x+720==0] 

{{x→1},{x→2},{x→3},{x→4},{x→5},{x→6}}

仔细查看solutions, 可知它是包含子列表的列表. 先看第一部分.

solutions[[1]]

{x→1}

由于这个列表只有一部分, 我们可以提取它的内容.

solutions[[1,1]]

x→1

为了得到这个表达式的第二个部分(箭头后面的数), 我们进一步地提取:

solutions[[1,1,2]]

1

为了理解为什么会这样, 我们查看一下x→1的结构.

FullForm[x→1]

Rule[x,1]

就等价于Rule[x,1], 从而可以用solutions[[1,1,2]]提取出它的第二个参数. 类似地, 其它解也可用solutions[[2,1,2]], solutions[[3,1,2]]等表达式提取出来. 为了得到它们的平方和, 输入

Sum[solutions[[k,1,2]]^2,{k,1,6}]

91

猜你喜欢

转载自blog.csdn.net/u014183377/article/details/83211871
今日推荐