数学建模社区-数学中国

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

作者: wwwaiting    时间: 2009-3-25 14:41
标题: 求!Matlab的二元二次方程组解法
我遇到一个难题,如何用Matlab程序求解下面的方程组,谢谢各位同学的指教!
  K3 A- }* K2 Q. J( s0 |6 E3 c' L方程组:(x-x1)^2+(y-y1)^2=a0 F; w/ F# H/ z$ n1 A( s0 V8 R) \
             (x-x2)^2+(y-y2)^2=c
) u4 E" t( h0 x* o             y=kx+b
) G" B3 m, j' @; K" E1 O! L其中x1,x2,y1,y2,a,b,c,k都是可输入的常数,求解x,y的值,请问如何编写Matlab程序?
作者: karl_wang    时间: 2009-3-25 16:38
这个是非线性方程,可以采用X=fsolve('fun',X0)求解。6 A/ D( l$ p# _/ }; b3 c
以上是建议,供参考!
作者: baiyh2008    时间: 2009-3-26 01:27
Matlab解非线性方程组有多种解法,常用的有符号解法和数值解法,符号解法可以得到解析解,而数值方法需要给出最初的猜测值,然后得到数值解。你的方程可以直接用符号解法求得:9 _! r& a4 U* E2 c/ }

% `* P" ~. c- D1 ~syms x y x1 x2 y1 y2 a b c
# D( b% {" i" J& e2 u/ M# R  ]; C8 G' D
' x5 O5 s; K3 N' C/ m; {3 lf = [(x-x1)^2+(y-y1)^2-a;. Y9 u8 P6 u' [: _  m' g
    (x-x2)^2+(y-y2)^2-c]3 V, N) I) [" P6 j1 X2 O
[X,Y]=solve(f(1),f(2))
作者: mnpfc    时间: 2009-3-26 08:00
进来学习下
作者: wwwaiting    时间: 2009-3-26 15:42
2# karl_wang
) P! {9 m6 ~  L谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?
作者: wwwaiting    时间: 2009-3-26 15:46
3# baiyh2008
8 K. z: b( ?9 v  I- M谢谢~~好像可以这个样子,我还有个问题同上面的问题。。。
作者: karl_wang    时间: 2009-3-26 16:54
2# karl_wang  ) ?$ d( D8 r) b- E' T5 [8 N
谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?
% Q. r0 P' B. pwwwaiting 发表于 2009-3-26 15:42

- `2 Q' s, }: a8 b你可以给一个数赋一个随机值,然后加在等式的右边,这样应该可以的。
作者: 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, 2 w* h# _0 O+ B* ^+ K. u+ F. n

3 i/ Q% y2 h  M! a3 d5 s7 f[X,Y]=solve(f(1), f(2), 'x','y')4 E2 [2 W7 n/ G+ Z0 e0 o# s% U
Xx = simplify(X). a. S1 [0 H4 I
Yy = simplify(Y)
: H5 ?$ S  W* r9 b
; O' t  |# y4 S4 a6 ]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