作业帮 > 数学 > 作业

mathematica 解方程组

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/04/28 22:03:59
mathematica 解方程组
x^2-y=1,x+y^2=0求解此方程组 并应用变量替换验证
mathematica 解方程组
什么叫用变量替换验证啊……难道是这样?:
eqn = {x^2 - y == 1,x + y^2 == 0};
sol = Solve[eqn,{x,y}]
eqn /.N@sol
再问: 请问最后一句是什么意思
再答: 我以为你的”变量替换验证“是指反代检验,所以就写了这一句,怎么,你要的不是这个? 至于“/.(ReplaceAll)”和”N“的含义,你可以看看帮助。
再问: 我要的好像就是这个 谢谢了 我知道那个/. 是不是全部替换的意思 但是再往后没读懂T_T
再答: ReplaceAll是全部替换,N是取数值值,因为这里的结果根式比较复杂,所以这里用这个提高了下运算速度。@是[ ]的简写,也就是说连起来是N[ ]。
再问: 哦 谢谢啦 那最后检验的第三个解为什么会出现一个False
再答: ……好吧,我都没注意到。我运算精度没取够: eqn = {x^2 - y == 1, x + y^2 == 0} sol = Solve[eqn, {x, y}]; eqn /. N[sol, 16] 取到16位精度就可以了。其实这里最正确的做法是在最后一行使用 FullSimplify[eqn /. sol] 但是这个的结果根式比较复杂,这样子计算速度太慢了,我不愿等……等下,我想到个满足全部要求的方法了。 那就是先避免对原方程组(本质上是个四次方程组)的显式求解(不使用根式表示解,而使用方程表示解),然后单独化出一个显式根式解,再对非显式解去用FullSimplify,这样化简会很快: eqn = {x^2 - y == 1, x + y^2 == 0} sol = Solve[eqn, {x, y}, Quartics -> False] ToRadicals@sol FullSimplify[eqn /. sol]