找回密码
 注册
Simdroid-非首页
查看: 43|回复: 1

用solve解含小量的非线性方程组出现不同结果

[复制链接]
发表于 2014-4-21 17:50:52 | 显示全部楼层 |阅读模式 来自 广东深圳
本帖最后由 guohf 于 2014-4-21 17:53 编辑

要解方程组
(x-6e-5)^2+(y-5e-5)^2=(8e-6)^2
x^2+(y-5e-5)^2=3.6e-9

方程有实数解,可采用两种方法,得不到想要的结果,且会报错,请高手给看下,先谢了
法一:
>> ax=6e-5;ay=5e-5;
>> syms x y;
>> [x,y]=solve((ax-x)^2+(ay-y)^2-(8e-6)^2==0,x^2+(y-5e-6)^2-3.6e-9==0)

x, y得到很怪的复数解

将ax, ay的具体值代入,法二:
[x,y]=solve((x-6e-5)^2+(y-5e-5)^2-(8e-6)^2==0,x^2+(y-5e-6)^2-3.6e-9==0)

Error using mupadmex
Error in MuPAD command: Not a square matrix. [(Dom::Matrix(Dom::ExpressionField()))::_power]

Error in sym/privBinaryOp (line 1693)
            Csym = mupadmex(op,args{1}.s, args{2}.s, varargin{:});

Error in sym/mpower (line 189)
        B = privBinaryOp(A, p, 'symobj::mpower');
出现上面错误,不太理解这些“错误”指的是什么?在网上查了一下,添加了点:
[x,y]=solve((x-6e-5).^2+(y-5e-5).^2-(8e-6)^2==0,x.^2+(y-5e-6).^2-3.6e-9==0)

Warning: Explicit solution could not be found.
> In solve at 179
x =  [ empty sym ]
y = []
 楼主| 发表于 2014-4-22 10:22:33 | 显示全部楼层 来自 香港
Simdroid开发平台
是我写错了,把第二个方程中的5e-5写成5e-6了,真马虎。
其实我要做一个循环,把这次得到的x, y值作为新的ax, ay值,再进行求解,第一种方法较实用一点了
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-5 13:35 , Processed in 0.026807 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表