Mathematica中怎么样直接引用Solve函数的结果?

比如输入Solve[x+1==0]输出{{x->-1}怎样可以直接引用”-1“这个结果?此时如果我输入x,输出还是x,而不是-1。我现在都是Ctrl+cCtrl+v来用输... 比如输入
Solve[x + 1 == 0]
输出
{{x -> -1}
怎样可以直接引用”-1“这个结果?此时如果我输入x,输出还是x,而不是-1。我现在都是Ctrl+c Ctrl+v 来用输出的结果,太麻烦了。怎么把输出结果赋给一个变量?如果输入
y=Solve[x + 1 == 0]是不行的,输出是y={{x -> -1},而不是y=-1。y={{x -> -1}不能直接参加接下来的运算。
展开
 我来答
眩晕的红茶
2011-04-27 · TA获得超过191个赞
知道答主
回答量:188
采纳率:0%
帮助的人:71万
展开全部

由于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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式