- 注册时间
- 2009-2-12
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 22688
- 在线时间
- 小时
|
发表于 2011-1-18 09:55:12
|
显示全部楼层
3# wayne
其实FindRoot函数可以直接在复域搜索。- m = 10; tmp = {#[[-1]], {x1, x2}} /. FindRoot[{(2 + 5 I)*x1 - x2^(2 - 3 I) - E^-x1 == 0, -(x1^3) + x1*x2 - E^-x2 == 0}, {{x1, #[[1]]}, {x2, #[[2]]}},WorkingPrecision -> 10] & /@ Flatten[Table[{i, j, {i, j}}, {i, 1, m, 1}, {j, 1, m, 1}], 1];
- DeleteDuplicates[tmp, #1[[-1]] == #2[[-1]] &]
复制代码 运行结果:
{{1, 1}, {0.3504034061 - 0.2581172046 I, 0.9031492305 + 0.2062068702 I}},
{{1, 3}, {0.008663773124 + 0.05927370163 I, 2.009821712 - 0.9744617637 I}},
{{1, 6}, {0.08343862612 - 0.1745973157 I, 0.3407059687 - 3.686653995 I}},
{{1, 10}, {-0.02866006054 - 0.01195892185 I, 1.330587482 - 8.406178015 I}},
{{2, 1}, {0.8791277181 + 0.5643186120 I, 0.6678887521 + 0.5502019011 I}},
{{2, 3}, {2.188498719 - 0.2547470127 I, 4.725985876 - 1.111240047 I}},
{{7, 8}, {2.188498721 - 0.2547470139 I, 4.725985877 - 1.111240047 I}},
{{9, 2}, {0.1575094450 - 0.006233406303 I, -0.5428160524 - 10.90400468 I}},
{{10, 2}, {0.3678174170 - 0.2447841800 I, -1.987462609 - 16.56633274 I}},
{{10, 10}, {2.188498720 - 0.2547470114 I, 4.725985876 - 1.111240046 I}}
即在初始值 {1,1} 处搜到解{0.3504034061 - 0.2581172046 I, 0.9031492305 + 0.2062068702 I}
在初始值{1, 3}处,,搜到解 {0.008663773124 + 0.05927370163 I, 2.009821712 - 0.9744617637 I}},
。。。。。。。。。 |
|