数学建模社区-数学中国

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

作者: wwwaiting    时间: 2009-3-25 14:41
标题: 求!Matlab的二元二次方程组解法
我遇到一个难题,如何用Matlab程序求解下面的方程组,谢谢各位同学的指教!3 Q% S4 \# e: Z" B: ^
方程组:(x-x1)^2+(y-y1)^2=a
$ z7 r8 z. F, R! n# V4 b5 Q* c! x             (x-x2)^2+(y-y2)^2=c$ ?6 g0 K. T% i
             y=kx+b
& f: e0 K7 v# I- B其中x1,x2,y1,y2,a,b,c,k都是可输入的常数,求解x,y的值,请问如何编写Matlab程序?
作者: karl_wang    时间: 2009-3-25 16:38
这个是非线性方程,可以采用X=fsolve('fun',X0)求解。+ D# U& U2 f- C1 q2 ~7 ~. N
以上是建议,供参考!
作者: baiyh2008    时间: 2009-3-26 01:27
Matlab解非线性方程组有多种解法,常用的有符号解法和数值解法,符号解法可以得到解析解,而数值方法需要给出最初的猜测值,然后得到数值解。你的方程可以直接用符号解法求得:
" o& B" a0 X# @( C" ?& I8 {+ z8 H8 e' f$ u
syms x y x1 x2 y1 y2 a b c; Q$ g0 i  `7 ^3 r1 d

% L- T  ~) \, s9 H8 Ff = [(x-x1)^2+(y-y1)^2-a;
5 R. Y1 }) G! L7 v- B7 r$ b( i    (x-x2)^2+(y-y2)^2-c]2 g6 Q5 Z' [* x; B) K
[X,Y]=solve(f(1),f(2))
作者: mnpfc    时间: 2009-3-26 08:00
进来学习下
作者: wwwaiting    时间: 2009-3-26 15:42
2# karl_wang
: g5 `% [' H2 d谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?
作者: wwwaiting    时间: 2009-3-26 15:46
3# baiyh2008
0 k! K$ R  O+ y谢谢~~好像可以这个样子,我还有个问题同上面的问题。。。
作者: karl_wang    时间: 2009-3-26 16:54
2# karl_wang  
1 w% O5 P: @$ q8 u+ P# s3 C谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?
( ~5 t% D( t1 swwwaiting 发表于 2009-3-26 15:42
* M) R6 C( ]) m5 [
你可以给一个数赋一个随机值,然后加在等式的右边,这样应该可以的。
作者: 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, 3 L: j5 Z- U0 {- S
" i: H* a; r: p
[X,Y]=solve(f(1), f(2), 'x','y')
2 B( j' M" o; \Xx = simplify(X): {1 \8 v, f' k: L4 d3 L; L2 n
Yy = simplify(Y)& z" _0 C' @7 }! l$ b& t
7 B% v# k+ y* N) |5 B3 X
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