gpt4 book ai didi

wolfram-mathematica - 在 Mathematica 中取正平方根

转载 作者:行者123 更新时间:2023-12-04 14:20:08 24 4
gpt4 key购买 nike

我目前正在按照以下方式进行一些规范化:

J = Integrate[Psi[x, 0]^2, {x, 0, a}]
sol = Solve[J == 1, A]
A /. sol

对于这种类型的归一化,负平方根是无关紧要的。这个计算的结果是:
In[49]:= J = Integrate[Psi[x, 0]^2, {x, 0, a}]
Out[49]= 2 A^2

In[68]:= sol = Solve[J == 1, A]
Out[68]= {{A -> -(1/Sqrt[2])}, {A -> 1/Sqrt[2]}}

即使我尝试给它一个 Assuming[...] 或 Simplify[...],它仍然给我相同的结果:
In[69]:= sol =  Assuming[A > 0, Solve[J == 1, A]]
Out[69]= {{A -> -(1/Sqrt[2])}, {A -> 1/Sqrt[2]}}

In[70]:= sol = FullSimplify[Solve[J == 1, A], A > 0]
Out[70]= {{A -> -(1/Sqrt[2])}, {A -> 1/Sqrt[2]}}

谁能告诉我我在这里做错了什么?

我在 Windows 7 64 位上运行 Mathematica 7。

最佳答案

ToRules做盒子所说的:将方程(如 Reduce 输出)转换为规则。在你的情况下:

In[1]:= ToRules[Reduce[{x^2==1,x>0},x]]
Out[1]= {x->1}

In[2]:= {ToRules[Reduce[{x^2==1},x]]}
Out[2]= {{x->-1},{x->1}}

对于更复杂的情况,我经常发现在插入典型参数值后检查符号解的值很有用。这当然不是万无一失的,但如果您知道只有一个解决方案,那么这是一种简单有效的方法:
Solve[x^2==someparameter,x]
Select[%,((x/.#)/.{someparameter-> 0.1})>0&]

Out[3]= {{x->-Sqrt[someparameter]},{x->Sqrt[someparameter]}}
Out[4]= {{x->Sqrt[someparameter]}}

关于wolfram-mathematica - 在 Mathematica 中取正平方根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2925819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com