数学建模社区-数学中国

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

作者: wwwaiting    时间: 2009-3-25 14:41
标题: 求!Matlab的二元二次方程组解法
我遇到一个难题,如何用Matlab程序求解下面的方程组,谢谢各位同学的指教!
/ I7 ^& S4 K9 e方程组:(x-x1)^2+(y-y1)^2=a
: R: s; a2 {9 y' n+ M/ X8 L             (x-x2)^2+(y-y2)^2=c
: ?- Q4 `- S% v7 R" h             y=kx+b  @" V4 o# p6 g. H8 ]8 p
其中x1,x2,y1,y2,a,b,c,k都是可输入的常数,求解x,y的值,请问如何编写Matlab程序?
作者: karl_wang    时间: 2009-3-25 16:38
这个是非线性方程,可以采用X=fsolve('fun',X0)求解。
. O6 t! V( P' Q; e- v1 @, N0 @5 Q以上是建议,供参考!
作者: baiyh2008    时间: 2009-3-26 01:27
Matlab解非线性方程组有多种解法,常用的有符号解法和数值解法,符号解法可以得到解析解,而数值方法需要给出最初的猜测值,然后得到数值解。你的方程可以直接用符号解法求得:% ~* E# C  I9 D
0 E3 \7 p! w' l3 H4 c7 o' R9 O
syms x y x1 x2 y1 y2 a b c
' w. A6 `! u, s+ W; j
# `' Q, i8 \5 B  }f = [(x-x1)^2+(y-y1)^2-a;
2 w' B; j, V: @. ~    (x-x2)^2+(y-y2)^2-c]8 I( E8 K" M0 t! x. l/ o6 J, D
[X,Y]=solve(f(1),f(2))
作者: mnpfc    时间: 2009-3-26 08:00
进来学习下
作者: wwwaiting    时间: 2009-3-26 15:42
2# karl_wang 2 S% \' `$ G* S/ w% q% Q6 Y
谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?
作者: wwwaiting    时间: 2009-3-26 15:46
3# baiyh2008 & Z8 M. i6 t; [
谢谢~~好像可以这个样子,我还有个问题同上面的问题。。。
作者: karl_wang    时间: 2009-3-26 16:54
2# karl_wang  7 X4 F7 \# N: `
谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?
- J+ }' |" F: P2 F6 [3 e( @$ l5 [wwwaiting 发表于 2009-3-26 15:42

# u* q9 k3 }" c9 g% V9 @你可以给一个数赋一个随机值,然后加在等式的右边,这样应该可以的。
作者: 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,
! [/ {5 q% {+ i) L/ E- n
, m7 Q  Q: `0 \+ Y0 z7 W& y# D. ^[X,Y]=solve(f(1), f(2), 'x','y')
2 s3 J" F1 n) g& O- l  p- DXx = simplify(X)
' L$ Z( ~" J, MYy = simplify(Y), m9 K+ M. x1 E% p1 l- X8 W

; i6 p- p# Q. q: D! KIn 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