24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2273  |  回复: 4

644674033

铜虫 (初入文坛)

[求助] mathematica解方程组为什么解不出来具体的数值?

Solve[{0.125 + 2.14 x + 0.5 x^2 - 0.5 y^2 + 1.248 xy == 0,                               0.156 + 1.5 y + 0.5 xy - 0.5 yz + 0.624 xz + 0.624 y^2 == 0,
-0.125 + 0.86 z + 0.5 y^2 - 0.5 z^2 + 1.248 yz == 0}, {x, y, z}]
这个程序有问题吗?为什么我解不出来x,y,z的值呢?谢谢~
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangefang

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
644674033: 金币+5, ★★★很有帮助 2013-06-09 11:43:50
你的命令没有问题, 可能是软件的问题.
下面是我用maple写的, 可以解出四组解.
还有一种可能: 是不是你的命令行太长了.
你像下面那样把三个方程赋给三个变量, 再试试?
> eqn1:=0.125+2.14*x+0.5*x^2-0.5*y^2+1.248*x*y=0;
> eqn2:=0.156+1.5*y+0.5*x*y-0.5*y*z+0.624*x*z+0.624*y^2=0;
> eqn3:=-0.125+0.86*z+0.5*y^2-0.5*z^2+1.248*y*z=0;
> solve({eqn1,eqn2,eqn3},{x,y,z});
  {y = -1.164948684, z = 0.6143535997, x = -1.942288574},
    {y = -0.3941852564, z = 0.1659483529, x = -3.267153225},
    {y = -0.1412727413, z = 1.170920741, x = -0.05947451952},
    {y = -0.1141946495, z = 0.1903937625, x = -0.06022230420}
Themorewedo,themorewecando.
2楼2013-06-08 21:05:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Mr__Right

专家顾问 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
644674033: 金币+5, ★★★很有帮助 2013-06-09 11:43:59
原因可能有, 1)楼主的书写不规范, 两个变量,比如"y*z" 不能直接写到一起, 会被视为 一个变量 "yz", 中间加乘号"*"或空格隔开; 2) solve默认是给出所有的全局的符号解(绝对精确的表达是)的, 类似这个情况, 得到的就是用另外的简单的方程的根表示的形式;

如果要得到正确的符号解:
1) 确保书写规范;
2) 用NSolve[] 求数值解;
3) 如果一定要用Solve[], 解求出来之后, 赋值给solution或任何其它变量, 然后对变量用N[solution] 并显示就可以了;

所以, 主要问题在于楼主是初学, 对软件的了解太少, 多练习多使用多学习就行了
文章乃身外之物,要多考虑编辑、审稿人和读者的感受。
3楼2013-06-09 07:09:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

644674033

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by wangefang at 2013-06-08 21:05:02
你的命令没有问题, 可能是软件的问题.
下面是我用maple写的, 可以解出四组解.
还有一种可能: 是不是你的命令行太长了.
你像下面那样把三个方程赋给三个变量, 再试试?
> eqn1:=0.125+2.14*x+0.5*x^2-0.5*y ...

加上了“*”就算出来了,谢谢哈
4楼2013-06-09 11:44:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

644674033

铜虫 (初入文坛)

引用回帖:
3楼: Originally posted by Mr__Right at 2013-06-09 07:09:39
原因可能有, 1)楼主的书写不规范, 两个变量,比如"y*z" 不能直接写到一起, 会被视为 一个变量 "yz", 中间加乘号"*"或空格隔开; 2) solve默认是给出所有的全局的符号解(绝对精确的表达 ...

我确实是新手唉,菜鸟一枚,谢谢了哦,加上了乘号就好了~
5楼2013-06-09 12:11:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 644674033 的主题更新
信息提示
请填处理意见