数学建模社区-数学中国

标题: 复数方程(组)求解 [打印本页]

作者: forcal    时间: 2011-1-16 09:58
标题: 复数方程(组)求解
一个复数对应2个实数。目前,Forcal中虽然没有专门求解复数方程(组)的函数,但可以借助实数算法来求解。' N+ F) @% t& }7 n$ @6 \- M/ S

0 [) F) L: r/ a* n+ m' \例子1:求实数方程复数域内的全部解:x^3+2*x*x+10*x-20=0;" C" d8 @) L7 I4 q' r8 N0 y

8 H9 P- ~; a# w- Z8 O本例若用isolve求解,只能获得实数解:
( [" d0 g7 T" q9 C; e; [' f
  1. !using["fcopt"];
    5 s0 c  f  x% z4 P3 E* e7 H
  2. f(x)=2*x^6-x^3+2*x*x+10*x-20;
    & L& ?9 G- o5 u- V! }
  3. isolve[HFor("f")];
    6 H. w* A4 p' S4 d7 V3 s
复制代码

( z$ V" I6 s. ~5 v* K8 J-1.543029953303134        7.105427357601002e-0159 }2 J$ q# a4 k3 U% e( y
1.221035549850575         3.552713678800501e-0156 F8 M/ U' y+ g4 l9 [
3 J! x% e5 R7 h# R. M
用solve求解方程组,可获得复数解(需要多次求解,与实数解比较,获得复数解):. D6 R: z! S6 ]- e& y
  1. !using["fcopt"];
    0 n! O- q6 ^$ K" O+ l3 u% U
  2. c: cf(x,y)= y=2*x^6-x^3+2*x*x+10*x-20;& ?6 b& |, A  [0 m
  3. cc(x,y,y1,y2)= cf(x,y,&y1,&y2);' D) t. s( F7 t. p0 G
  4. solve[HFor("cc")];
    " y1 r+ l9 \. a* m* `$ Z
复制代码
& v9 g7 g6 \" i/ `1 b8 N- z
1.221035549850575         2.559801991936669e-027    2.51214793389404e-015+ W% ^) s& Y7 |5 F* h
0.8999326566465651        1.099717348577194         3.76822190084106e-0153 v6 m) B0 `0 c! e# A8 J  J
0.8999326566465653        -1.099717348577193        7.944109290391274e-0158 D, s( n5 O$ a* B8 J7 |% P* q. P
-1.543029953303134        1.782340001805797e-016    1.560233745709171e-014
# \* x& @- m- Z-0.738935454920286        -1.443073377091521        2.161031364628563e-014
7 J' j& i; f2 \/ O' D- d-0.738935454920286        1.443073377091521         2.369955620929136e-014
1 D; i7 |% ?" O
作者: forcal    时间: 2011-1-16 10:00
本帖最后由 forcal 于 2011-1-17 20:28 编辑
' T& p  G: V( o( g
  n% G) N. }/ F* c例子2:求复数方程组:
+ w  L$ d8 v4 A8 N9 U
  1. (2+5i)*x1-x2^(2-3i)-exp(-x1)=0
    4 a2 n4 |# ~4 P# p9 C) ]
  2. -(x1^3)+x1*x2-exp(-x2)=0
    0 O9 O* N7 Q9 k
复制代码
1 L) x( h" U* e9 `3 |4 V# I
代码:
" W: |% J1 P  I! K; e5 X
  1. !using["fcopt"];- B- `! h- I5 Y8 t8 R) U$ k7 P7 H
  2. c: cf(x1,x2,y1,y2)=
    1 i/ W: t4 V! Q, C( s5 ]' r" l
  3. {
    ! Q8 Y( q3 ^6 C6 e1 G
  4.   y1=(2+5i)*x1-x2^(2-3i)-exp(-x1),: W" x" V+ H( j5 O
  5.   y2=-(x1^3)+x1*x2-exp(-x2)$ z9 |: x% ?1 Y
  6. };
    * z- _. {' V/ L
  7. cc(x11,x12,x21,x22,y11,y12,y21,y22)= cf(x11,x12,x21,x22,&y11,&y12,&y21,&y22);$ \* o% r5 L( f' z) ?' L/ u
  8. solve[HFor("cc")];, `' ~3 I* M' P, P2 |5 J4 u! F3 R
复制代码

$ u! o$ S8 s  ?* L结果(多次求解,每组最后一个是误差):
8 w. n, \( T+ c) I0.350403406122754         -0.2581172046401702       0.9031492305415151        0.2062068702236727        3.500829247998799e-014+ F; ^- b! C4 @8 Y; Q

8 Y) ?7 w% d  q) Z% B# L8.343862612128539e-002    -0.1745973157301181       0.3407059687466865        -3.686653995029365        1.014802625489917e-011
9 x8 ?3 t9 ^! `& Q% I# z4 f
8 x1 ~! X5 D. [; k* K1 n# J2 b-2.866006054280364e-002   -1.195892184488039e-002   1.330587481557424         -8.406178015373364        1.344455731312484e-011
& @6 U9 a- G4 F5 o" k' h  H9 S2 {) `" z8 B7 l4 e! b; \; v
0.3248221986204087        -0.8164562030925229       8.588879599246295e-002    0.2894415311777754        3.570823474245571e-011
) `& u8 D) j) ?/ h  R# i% T1 q7 ^9 r. q
8.663773118603429e-003    5.927370162144334e-002    2.009821712522968         -0.9744617637719372       1.073856633613092e-010
$ ]0 N. B6 A/ |" w$ J5 a. \+ F% D# j, ^: t
0.1575094449966286        -6.233406303049387e-003   -0.5428160523568441       -10.90400468060007        1.542485713397894e-013
: r6 [# l0 s* q( E% \4 M4 U* V' K* M1 u9 S% G7 T. T
0.5108186106709388        0.8884343740105763        -3.912183017503166e-002   1.868542038988761e-002    4.891644231048831e-012
+ s/ ^* ]: \, w, O, R
' h$ y  `% D! Y1 w# ]7 I- E* r-1.000140126356298        4.481460412883024e-005    -2.935625999646882e-002   4.580361872777336e-003    1.741254712865244e-012
; E; G4 f! w5 ~+ |  A! }- m4 L# }
+ b' G8 @0 x! k4 J. {: r3 J结果可能不全,欢迎大家补充。
9 m8 M, K; F* n0 ]5 x8 B  o5 a& b. b5 B( z0 k  Y; [" M

作者: 李——建辉    时间: 2012-1-21 20:15
支持一,下楼主辛苦了         103787
作者: liupeng723911    时间: 2012-12-24 00:15
好帖还是要收藏,请继续




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5