请教,为何这个简单的方程组mathematica算不出来呢?
mathematica吧
全部回复
仅看楼主
level 2
皮P 楼主
Solve[{153.8229*x *y==x *y*z,101.8218*x *z==x *y*z,7.9535*(x *y+x *z+z*y)==x *y*z},{x,y,z}]
请教一下大家,为何这个简单的方程组mathematica算不出来呢?
2022年09月12日 14点09分 1
level 9
12.2以前的版本吧?我这里运行出来的是这样的,12.3
In[1]:= Solve[{153.8229*x*y == x*y*z, 101.8218*x*z == x*y*z,
7.9535*(x*y + x*z + z*y) == x*y*z}, {x, y, z}]
\:6B63\:5728\:8BA1\:7B97In[1]:= Solve::ratnz: Solve was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result.
\:6B63\:5728\:8BA1\:7B97In[1]:= Solve::svars: Equations may not give solutions for all "solve" variables.
Out[1]= {{x -> 0., y -> 0.}, {x -> 0., z -> 0.}, {y -> 0.,
z -> 0.}, {x -> 9.14004, y -> 101.822, z -> 153.823}}
第一个报错是说你写小数了,小数在mma中是inexactform,不过无伤大雅。
而且在数学意义上这个方程有两个未知量为一组特定值的时候第三个解随便取的情况,这就是第二个报错
2022年09月12日 14点09分 2
谢谢!看来我还得安装新的版本了,不过还想问一下,如果小数涉及到精度问题,那平常经常用到小数的话,应该怎么处理呢?我刚才也注意到了小数的这个问题,paddedform,round这些函数都试过了,好像也没能解决。
2022年09月12日 14点09分
@皮P 直接有理化,根源解决
2022年09月12日 14点09分
level 9
rationalize
2022年09月12日 15点09分 3
吧务
level 15
版本9也能算:
如果要追新,建议追到最新,就算不追也要避免使用所有大版本号为10的版本,非要用版本10那也千万别碰版本10.0~10.2。
2022年09月30日 16点09分 4
直接追到了13,应该没问题了[真棒]
2022年10月01日 01点10分
1