找回密码
 注册
Simdroid-非首页
查看: 180|回复: 7

复数方程组求解

[复制链接]
发表于 2011-1-17 17:41:29 | 显示全部楼层 |阅读模式 来自 山东淄博
(2+5i)*x1-x2^(2-3i)-exp(-x1)=0
-(x1^3)+x1*x2-exp(-x2)=0

这个方程组有几组解?大家试试看。
理论上如能证明有几组解并给出解更好。
发表于 2011-1-17 21:32:01 | 显示全部楼层 来自 湖南湘潭
Simdroid开发平台
判断有多少个解最直观的方法就是把变量x1,x2方程所确定的隐函数图形画出。
这里给出maple的一种解法及答案:

  1. restart;
  2. eqn := (2+5*I)*x1-x2^(2-3*I)-exp(-x1) = 0, -x1^3+x1*x2-exp(-x2) = 0;
  3. a1 := fsolve({eqn}, {x1, x2});
  4. avoidans := a1;
  5. for k from 2 to 20 do
  6.       cat('a', k) := fsolve({eqn}, {x1, x2}, avoid = {avoidans});
  7.      if `not`(is((cat('a', k))::set)) then
  8.               break
  9.      else
  10.               avoidans := avoidans, a || k
  11.      end if
  12. end do
复制代码
结果:9个
{x1 =  0.3504034061 - 0.2581172046 I,    x2 = 0.9031492305 + 0.2062068702 I}
{x1 =  0.08343862612 - 0.1745973157 I,   x2 = 0.3407059687 - 3.686653995 I}
{x1 =  0.008663773124 + 0.05927370163 I, x2 = 2.009821712 - 0.9744617637 I}
{x1 =  0.8791277181 + 0.5643186120 I,    x2 = 0.6678887521 + 0.5502019011 I}
{x1 = -1.566817874 - 0.1557788051 I,     x2 = 2.383001998 + 0.5222697208 I}
{x1 =  0.1575094450 - 0.006233406303 I,  x2 = -0.5428160524 - 10.90400468 I}
{x1 =  2.188498719 - 0.2547470127 I,     x2 = 4.725985876 - 1.111240047 I}
{x1 = -0.9761505525 - 0.04188916695 I,   x2 = 0.2629061023 + 0.4632752573 I}
{x1 =  0.3248221986 - 0.8164562031 I,    x2 = 0.08588879599 + 0.2894415312 I}

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-1-17 22:08:58 | 显示全部楼层 来自 中国
下面好像也是一组:
-0.0286600605406482         -0.0119589218464472i 1.33058748155497        -8.40617801540237i

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-1-18 16:38:55 | 显示全部楼层 来自 北京
解有很多的:
{{0.350403406122761808 - 0.258117204640172956 I, 0.903149230541510619 + 0.206206870223671377 I},
{0.00866377312425700355 + 0.0592737016253263893 I, 2.00982171246702782 - 0.974461763708910777 I},
{0.0834386261204308098 - 0.174597315729157263 I, 0.340705968726794262 - 3.68665399503171066 I},
{-0.0286600605406482310 - 0.0119589218464472299 I, 1.33058748155497026 - 8.40617801540237336 I},
{0.879127718129416178 + 0.564318612031810094 I, 0.667888752089408730 + 0.550201901089199003 I},
{2.18849871916124181 - 0.254747012703971066 I, 4.72598587557743101 - 1.11124004729152998 I},
{-3.18209424077466767 + 2.39790942427311485 I, 4.37883991865010105 - 15.2601286267668250 I},  
{0.157509444996626376 - 0.00623340630305472064 I, -0.542816052357006584 - 10.9040046806000420 I},
{4.38963673559626647 - 2.59516279050245493 I, 12.5340405903875561 - 22.7836445254431240 I},
{0.324822198619932123 - 0.816456203092061369 I, 0.0858887959937543477 + 0.289441531178437169 I},
{0.470146186623320203 - 0.893721270234018595 I, -0.0472358551378965276 + 0.0520378205547167225 I},
{0.00866377312425700239 + 0.0592737016253263888 I, 2.00982171246702781 - 0.974461763708910783 I},
{0.367817416818927527 - 0.244784179866299966 I, -1.98746260877181409 - 16.5663327381532477 I},
{0.157509444996626378 - 0.00623340630305472342 I, -0.542816052357006638 - 10.9040046806000420 I},
{0.157509444996626376 - 0.00623340630305471978 I, -0.542816052357006586 - 10.9040046806000420 I},
{0.255878657038551966 - 0.641880681384586893 I, -2.72426833885349267 - 22.2624989134448166 I},
{-0.185560616501014477 - 0.906670073431124670 I, -3.26998823602498055 - 27.9850337911403800 I},
{-1.83523623919009839 - 0.221639797635822291 I, -4.46391448075546200 - 45.5068124234970020 I},
{1.56688435555463864 + 7.17209018278099433 I, -6.66454009335272188 - 75.5905281445578411 I}}

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-1-18 21:14:33 | 显示全部楼层 来自 山东淄博
谢谢大家!这个题目是我做测试用的。

一个复数对应2个实数。目前,Forcal中虽然没有专门求解复数方程(组)的函数,但可以借助实数算法来求解。

Forcal代码:
  1. !using["fcopt"];
  2. c: cf(x1,x2,y1,y2)=
  3. {
  4.   y1=(2+5i)*x1-x2^(2-3i)-exp(-x1),
  5.   y2=-(x1^3)+x1*x2-exp(-x2)
  6. };
  7. cc(x11,x12,x21,x22,y11,y12,y21,y22)= cf(x11,x12,x21,x22,&y11,&y12,&y21,&y22);
  8. solve[HFor("cc")];
复制代码


结果(多次运行以上代码求解,只求得不重复的8组,每组最后一个是误差):
0.350403406122754         -0.2581172046401702       0.9031492305415151        0.2062068702236727        3.500829247998799e-014

8.343862612128539e-002    -0.1745973157301181       0.3407059687466865        -3.686653995029365        1.014802625489917e-011

-2.866006054280364e-002   -1.195892184488039e-002   1.330587481557424         -8.406178015373364        1.344455731312484e-011

0.3248221986204087        -0.8164562030925229       8.588879599246295e-002    0.2894415311777754        3.570823474245571e-011

8.663773118603429e-003    5.927370162144334e-002    2.009821712522968         -0.9744617637719372       1.073856633613092e-010

0.1575094449966286        -6.233406303049387e-003   -0.5428160523568441       -10.90400468060007        1.542485713397894e-013

0.5108186106709388        0.8884343740105763        -3.912183017503166e-002   1.868542038988761e-002    4.891644231048831e-012

-1.000140126356298        4.481460412883024e-005    -2.935625999646882e-002   4.580361872777336e-003    1.741254712865244e-012

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-1-19 00:55:04 | 显示全部楼层 来自 北京海淀
依然是MATLAB中的mupad给出的结果,由于不喜欢这个部分,所以没好好学过,照help给个参考结果,没有验证,sorry。
  1. [x1 = 5.99265199 + 7.920682085*I, x2 = - 7.507315564 + (- 87.42243657*I)],
  2. [x1 = 4.389636736 + (- 2.595162791*I), x2 = 12.53404059 + (- 22.78364453*I)],
  3. [x1 = 20.17724179 + (- 1.315759497*I), x2 = - 9.04747628 + (- 122.6232088*I)]
  4. [x1 = - 14.39195949 + 3602.282979*I, x2 = - 24.56799131 + 17.26677261*I],
  5. [x1 = - 2.326415489 + 0.1852011024*I, x2 = - 4.793087054 + (- 51.55884415*I)],
  6. [x1 = - 4.57749213 + 1.497860447*I, x2 = 18.70984828 + (- 13.71288882*I)],
  7. [x1 = - 5.024683035 + (- 52.22154818*I), x2 = - 11.8953264 + (- 230.5373886*I)],
  8. [x1 = 0.3504034061 + (- 0.2581172046*I), x2 = 0.9031492305 + 0.2062068702*I],
  9. [x1 = 15.74482765 + (- 42.97524038*I), x2 = - 11.41095862 + (- 181.6285484*I)],
  10. [x1 = - 3.182094241 + 2.397909424*I, x2 = 4.378839919 + (- 15.26012863*I)]
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-1-19 21:30:50 | 显示全部楼层 来自 山东淄博
再次感谢大家!看到大家得到这么多解,我也做了改进,稍微调一下参数,一次运行可得到20组解左右。
  1. !using["fcopt"];
  2. c: cf(x1,x2,y1,y2)=
  3. {
  4.   y1=(2+5i)*x1-x2^(2-3i)-exp(-x1),
  5.   y2=-(x1^3)+x1*x2-exp(-x2)
  6. };
  7. cc(x11,x12,x21,x22,y11,y12,y21,y22)= cf(x11,x12,x21,x22,&y11,&y12,&y21,&y22);
  8. solve[HFor("cc"), optmode:20, optnum,50];
复制代码

结果:
0.3504034061227619        -0.2581172046401724       0.9031492305415108        0.2062068702236714        2.188470375788116e-015
-2.866006054064811e-002   -1.195892184644729e-002   1.330587481554955         -8.406178015402379        3.664717483975229e-015
0.1575094449966266        -6.233406303063155e-003   -0.542816052357031        -10.90400468059997        3.668981270404628e-014
0.6041474952500536        0.8834204997637566        -2.907695682418682e-002   0.1865018284481099        1.627537813411283e-012
-0.7716632762545354       -0.8820328884300585       -3.721907798700324        -33.73826440632226        1.650821482347728e-012
-0.9983326203909592       2.094050415535172e-003    -5.494800887396107e-002   0.114146758922791         1.765867559208952e-012
-0.9761505525079601       -4.188916695046351e-002   0.2629061022573982        0.463275257286457         2.367599204401855e-012
8.343862612009648e-002    -0.1745973157290102       0.3407059687235179        -3.686653995035351        2.57422492277467e-012
2.188498719162051         -0.2547470127037533       4.725985875577729         -1.111240047290975        3.731106476004431e-012
0.3678174168188199        -0.2447841798662611       -1.987462608772822        -16.56633273815227        5.682955814267664e-012
8.66377312358158e-003     5.927370162439787e-002    2.009821712472501         -0.9744617637159002       1.232242282253769e-011
-10.74703863664632        -2.127441206618513        110.9728333699503         45.72738568944521         1.495253356545458e-010
-3.18209424076603         2.397909424252751         4.37883991869573          -15.26012862665767        2.016588017619009e-010
-2.2932798659434          3.71181670552975          -5.001887492668788        -50.92228114199739        5.341697950444617e-010
4.389636735665624         -2.595162790461991        12.53404059121954         -22.78364452556377        1.548616687927945e-009
-13.03061961123774        -1.082449441953021        -7.751148451823107        50.3072382990715          2.203706533345664e-009
0.2558786570714794        -0.6418806811864217       -2.724268338486508        -22.26249891315651        3.516610034057008e-009
-6.440785739097954        -32.86267145383456        -10.64717194874195        -299.215838313864         1.414840683305003e-008
0.87912771147955          0.564318607324223         0.6678887511990975        0.5502018980398139        2.126541803294999e-008
-4.577492128577523        1.497860447724493         18.70984826906262         -13.7128888190296         2.743277703272624e-008
20.
回复 不支持

使用道具 举报

发表于 2011-2-23 13:23:25 | 显示全部楼层 来自 北京
dddddddddddd
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-5 01:15 , Processed in 0.043207 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表