标题: 求!Matlab的二元二次方程组解法 [打印本页] 作者: wwwaiting 时间: 2009-3-25 14:41 标题: 求!Matlab的二元二次方程组解法 我遇到一个难题,如何用Matlab程序求解下面的方程组,谢谢各位同学的指教!+ W$ b' U( e3 G: f
方程组:(x-x1)^2+(y-y1)^2=a2 R5 e$ l+ k6 X {0 e6 u
(x-x2)^2+(y-y2)^2=c % n, M. ?' \+ l; o& O6 w y=kx+b7 a# y& z4 Q+ l& I
其中x1,x2,y1,y2,a,b,c,k都是可输入的常数,求解x,y的值,请问如何编写Matlab程序?作者: karl_wang 时间: 2009-3-25 16:38
这个是非线性方程,可以采用X=fsolve('fun',X0)求解。$ h) [3 A! j9 ~2 c
以上是建议,供参考!作者: baiyh2008 时间: 2009-3-26 01:27
Matlab解非线性方程组有多种解法,常用的有符号解法和数值解法,符号解法可以得到解析解,而数值方法需要给出最初的猜测值,然后得到数值解。你的方程可以直接用符号解法求得: 9 N/ x3 A( A5 V+ O$ `) H4 S3 M8 u, ? I
syms x y x1 x2 y1 y2 a b c 2 E1 O% I8 a; I1 W- r7 h& P $ Y7 Z- Z. p/ d( r7 Rf = [(x-x1)^2+(y-y1)^2-a;2 [; F: B+ w# O6 @6 b4 z+ s: D1 w
(x-x2)^2+(y-y2)^2-c] 5 F# }( @& x% F( L+ }; [[X,Y]=solve(f(1),f(2))作者: mnpfc 时间: 2009-3-26 08:00
进来学习下作者: wwwaiting 时间: 2009-3-26 15:42 2#karl_wang # c* D2 R( U; V
谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢?作者: wwwaiting 时间: 2009-3-26 15:46 3#baiyh2008 1 `+ x( U. E; ?0 n4 W* f7 b2 k谢谢~~好像可以这个样子,我还有个问题同上面的问题。。。作者: karl_wang 时间: 2009-3-26 16:54
2# karl_wang ( s6 y% O# r% o. A1 S
谢谢哦~~ 是不是用solve也可以解决呢?如果在二次方程的等式右边再加个随机数,那个随机数怎么实现呢? - ]; r' V2 e0 L) S) r2 Z6 ?8 m, mwwwaiting 发表于 2009-3-26 15:42
1 }1 N4 H; i J" G( c W7 H E你可以给一个数赋一个随机值,然后加在等式的右边,这样应该可以的。作者: 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, ) ^/ w6 j. t5 K6 ^& a N& `. O4 ] U
" D: O/ R3 v4 a5 AIn addition, describe more details for your second question. It will be good for solving.作者: jingyiloveyou 时间: 2010-8-2 17:37
为啥solve的结果中含有复数,并且结果明显不对??