数学建模社区-数学中国

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

作者: forcal    时间: 2011-1-16 09:58
标题: 复数方程(组)求解
一个复数对应2个实数。目前,Forcal中虽然没有专门求解复数方程(组)的函数,但可以借助实数算法来求解。2 W. {) L" D1 \' h1 u5 k

; r  z# @9 S; n例子1:求实数方程复数域内的全部解:x^3+2*x*x+10*x-20=0;1 h, u7 Q3 ~* E2 L. M) x; u
# n$ Q$ [2 o7 c' F
本例若用isolve求解,只能获得实数解:
' J; }+ o' F; q! L) {4 z3 @. N
  1. !using["fcopt"];8 T2 x0 I; F4 ]2 |6 _, _
  2. f(x)=2*x^6-x^3+2*x*x+10*x-20;8 I* N7 M5 J' o" j
  3. isolve[HFor("f")];) H8 K( {+ N, l) F/ _% M" H$ g
复制代码
' k1 k" B- R2 }; Q: x
-1.543029953303134        7.105427357601002e-015
& l' X$ r0 f  L3 o: z! v1.221035549850575         3.552713678800501e-015) }) r/ L; O: [& X1 u

' f( Y$ z( ]' \用solve求解方程组,可获得复数解(需要多次求解,与实数解比较,获得复数解):
, Q& @  B: Y- Y* N: K# V
  1. !using["fcopt"];
    7 @1 D9 p* r- x, @7 D
  2. c: cf(x,y)= y=2*x^6-x^3+2*x*x+10*x-20;
    2 [7 }1 @7 P* e: a7 ^1 @& Y* `
  3. cc(x,y,y1,y2)= cf(x,y,&y1,&y2);( F) c  m. ]' \8 @( u; Y) `! f' U8 r& R
  4. solve[HFor("cc")];
    3 m) ~" z7 |8 O* e5 T9 V
复制代码

2 Y2 \3 [# P# t( Q0 z1.221035549850575         2.559801991936669e-027    2.51214793389404e-0152 a9 s8 p2 U+ L5 `. F  n4 `
0.8999326566465651        1.099717348577194         3.76822190084106e-015
, l6 P$ Q" w$ s$ z( G0 {2 W% h3 P' w# R0.8999326566465653        -1.099717348577193        7.944109290391274e-015
% c$ r/ ]9 a- G, v* j-1.543029953303134        1.782340001805797e-016    1.560233745709171e-014
2 n9 i0 I# @( ]/ \8 z0 a, O) K-0.738935454920286        -1.443073377091521        2.161031364628563e-0141 n* P- \' v7 s1 b* {* m
-0.738935454920286        1.443073377091521         2.369955620929136e-014
5 w0 B/ S0 y0 w% f; Q- W: S
作者: forcal    时间: 2011-1-16 10:00
本帖最后由 forcal 于 2011-1-17 20:28 编辑
3 \: q3 @: K' S- y1 w& K  R  [" s  _
! G) _! M! S( T例子2:求复数方程组:
  p7 P8 d, e9 `. Y0 P! n, H; ?
  1. (2+5i)*x1-x2^(2-3i)-exp(-x1)=0/ e+ Q) Q* D/ {' G
  2. -(x1^3)+x1*x2-exp(-x2)=0  ^' F3 ]# W4 q2 ^' i
复制代码
! t$ J, f; ^# I4 D! N- S
代码:2 Q' d% K; @; I
  1. !using["fcopt"];1 i7 J/ H7 H" s7 k* {7 q
  2. c: cf(x1,x2,y1,y2)=
    . S/ T% S6 e8 z4 ~5 T4 ~
  3. {
    5 {2 u  A9 F. u* B
  4.   y1=(2+5i)*x1-x2^(2-3i)-exp(-x1),
    ; N4 Z! B5 C( U  A# V
  5.   y2=-(x1^3)+x1*x2-exp(-x2)9 h& K" f% r$ ]8 G
  6. };; v0 I' c+ L' s" o" I2 q' I
  7. cc(x11,x12,x21,x22,y11,y12,y21,y22)= cf(x11,x12,x21,x22,&y11,&y12,&y21,&y22);* z7 V) |# c' N4 n
  8. solve[HFor("cc")];
    2 G' H% u$ j  G+ Y2 h7 Z( K& v
复制代码
0 ^0 l7 n% l7 ^8 o' ]. ^' r
结果(多次求解,每组最后一个是误差):
1 v, t% |- K( G: c% y. M# y0.350403406122754         -0.2581172046401702       0.9031492305415151        0.2062068702236727        3.500829247998799e-014- [% s/ x! X, }
/ m1 R$ `$ X! P  l1 V
8.343862612128539e-002    -0.1745973157301181       0.3407059687466865        -3.686653995029365        1.014802625489917e-011$ C. ?0 n, N5 X; v/ Z$ N/ x. G: `

9 T" T1 D! n5 u-2.866006054280364e-002   -1.195892184488039e-002   1.330587481557424         -8.406178015373364        1.344455731312484e-011
2 w* _1 c$ O1 u# T3 K) T
  f9 v5 y; u% `5 E0 H" t# }0.3248221986204087        -0.8164562030925229       8.588879599246295e-002    0.2894415311777754        3.570823474245571e-011: e" Y# C- W2 D" R6 y7 y5 v- b# h

; h* l  j- z# j4 E3 r8.663773118603429e-003    5.927370162144334e-002    2.009821712522968         -0.9744617637719372       1.073856633613092e-0101 J5 n/ `. f# k5 q, K
' j; }) Q" U* `  P
0.1575094449966286        -6.233406303049387e-003   -0.5428160523568441       -10.90400468060007        1.542485713397894e-013
# L" C  L* c9 O) ]* `( h% B" f
/ k( E3 f) n% S# |$ G7 q0.5108186106709388        0.8884343740105763        -3.912183017503166e-002   1.868542038988761e-002    4.891644231048831e-012
. ]3 u6 d7 k$ H6 z. b; H3 W& k5 K# I3 W; G7 ?( X
-1.000140126356298        4.481460412883024e-005    -2.935625999646882e-002   4.580361872777336e-003    1.741254712865244e-012* x. ~, g! s  F# B) A

; O  N: H% T* e6 y2 R4 B结果可能不全,欢迎大家补充。6 |' s2 T6 r! |% Y5 m  v4 m
* D" f9 k- D  ]- d& Y* d* }* u3 }, Q

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




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