数学建模社区-数学中国

标题: 求!Matlab的二元二次方程组解法 [打印本页]

作者: wwwaiting    时间: 2009-3-25 14:41
标题: 求!Matlab的二元二次方程组解法
我遇到一个难题,如何用Matlab程序求解下面的方程组,谢谢各位同学的指教!3 b: e+ L/ n) ~1 L: E: w
方程组:(x-x1)^2+(y-y1)^2=a
, }. h4 J! o# K% I             (x-x2)^2+(y-y2)^2=c
* s. ^# b% J/ i: q1 ]; @. ?7 n             y=kx+b
9 J: a! o; h, `, G/ e其中x1,x2,y1,y2,a,b,c,k都是可输入的常数,求解x,y的值,请问如何编写Matlab程序?
作者: karl_wang    时间: 2009-3-25 16:38
这个是非线性方程,可以采用X=fsolve('fun',X0)求解。
6 U3 j1 ^( S* F0 D以上是建议,供参考!
作者: baiyh2008    时间: 2009-3-26 01:27
Matlab解非线性方程组有多种解法,常用的有符号解法和数值解法,符号解法可以得到解析解,而数值方法需要给出最初的猜测值,然后得到数值解。你的方程可以直接用符号解法求得:' _  V/ @8 n3 E  T. F( [8 p1 m3 S8 s
% p7 \$ p. x- M6 b, T+ d( w3 M# d& c" Y" C
syms x y x1 x2 y1 y2 a b c  ~2 y+ s% L" U6 U5 i9 J7 S" n" i# b
0 E, d# n* p7 D( _- x" b7 u
f = [(x-x1)^2+(y-y1)^2-a;
8 r2 k+ P5 E' n6 M: o    (x-x2)^2+(y-y2)^2-c]
, y5 A0 ?+ J# ^, W[X,Y]=solve(f(1),f(2))
作者: mnpfc    时间: 2009-3-26 08:00
进来学习下
作者: wwwaiting    时间: 2009-3-26 15:42
2# karl_wang
$ c2 h: w* H/ g1 n谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?
作者: wwwaiting    时间: 2009-3-26 15:46
3# baiyh2008 * d3 O" L4 q2 ~. P6 b. G
谢谢~~好像可以这个样子,我还有个问题同上面的问题。。。
作者: karl_wang    时间: 2009-3-26 16:54
2# karl_wang  
8 x& q$ d" b  `# e# R% R& K谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?
& h4 j# t, V5 Z6 s1 u. ?wwwaiting 发表于 2009-3-26 15:42

, g$ ?6 T  o0 V: u5 b9 r你可以给一个数赋一个随机值,然后加在等式的右边,这样应该可以的。
作者: baiyh2008    时间: 2009-3-26 22:00
sorry! there is an error in orignal code, you have to define independent variables (x and y) in 'solve' command,
. w" X0 a+ s  X& X  y4 s4 D6 ]7 N" e1 G: ^( U
[X,Y]=solve(f(1), f(2), 'x','y')9 I# \3 _# d% ~. j6 j
Xx = simplify(X)
- N# f: Y7 J, a1 WYy = simplify(Y)
$ T% x2 G' @% z. n% `# b* P# g& o" P" ]5 u! S! a/ S
In addition, describe more details for your second question. It will be good for solving.
作者: jingyiloveyou    时间: 2010-8-2 17:37
为啥solve的结果中含有复数,并且结果明显不对??




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5