数学建模社区-数学中国

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

作者: wwwaiting    时间: 2009-3-25 14:41
标题: 求!Matlab的二元二次方程组解法
我遇到一个难题,如何用Matlab程序求解下面的方程组,谢谢各位同学的指教!
( ~( f! B3 \: p方程组:(x-x1)^2+(y-y1)^2=a
/ |7 V4 s; ]9 d5 k0 E! P             (x-x2)^2+(y-y2)^2=c
5 n2 x2 o( u$ y' Q             y=kx+b: K+ D+ p7 Y" D( h/ i9 t
其中x1,x2,y1,y2,a,b,c,k都是可输入的常数,求解x,y的值,请问如何编写Matlab程序?
作者: karl_wang    时间: 2009-3-25 16:38
这个是非线性方程,可以采用X=fsolve('fun',X0)求解。+ H" M" H, x* q
以上是建议,供参考!
作者: baiyh2008    时间: 2009-3-26 01:27
Matlab解非线性方程组有多种解法,常用的有符号解法和数值解法,符号解法可以得到解析解,而数值方法需要给出最初的猜测值,然后得到数值解。你的方程可以直接用符号解法求得:8 c/ ^5 h4 c! s) _& ?0 m

% A. s, L* l2 u) t5 isyms x y x1 x2 y1 y2 a b c
* g- p# o: }- s9 x, p# x$ H( m
: p# W& n; o$ c" B4 F: Q6 af = [(x-x1)^2+(y-y1)^2-a;4 R- K+ V0 n) P4 h9 L
    (x-x2)^2+(y-y2)^2-c]
; u5 g: p# x$ E: F6 L; A& D[X,Y]=solve(f(1),f(2))
作者: mnpfc    时间: 2009-3-26 08:00
进来学习下
作者: wwwaiting    时间: 2009-3-26 15:42
2# karl_wang 8 s3 S9 [* X# j5 |4 `9 b/ y: ^
谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?
作者: wwwaiting    时间: 2009-3-26 15:46
3# baiyh2008 6 r" a- u$ B* f' w" |! W4 {1 {
谢谢~~好像可以这个样子,我还有个问题同上面的问题。。。
作者: karl_wang    时间: 2009-3-26 16:54
2# karl_wang  
4 O# x. o6 l* K, ?! i5 \7 `$ O谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?& s! \% Z5 Q1 p# ]& v. f5 S0 u, I) K
wwwaiting 发表于 2009-3-26 15:42

2 b, w* H& e( R( U2 b8 r5 N+ ~你可以给一个数赋一个随机值,然后加在等式的右边,这样应该可以的。
作者: 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,
9 ^" @/ {5 ]+ g* n( J2 j, [& l
. m, d5 h9 W, _' _  S1 x# e/ k[X,Y]=solve(f(1), f(2), 'x','y')
- u0 W% }" [+ p& u4 i1 ]Xx = simplify(X)
7 E% X% l4 c  y8 FYy = simplify(Y)( A& T7 o! n' D2 T8 K6 e3 U3 }1 y

5 {. K: Y# y9 a+ E0 ?2 M; aIn 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