迭代的问题
mathematica吧
全部回复
仅看楼主
level 1
空速星痕L 楼主
自己写了一段代码求方程组的解,求各位大佬看一下问题在哪,给了x一个初值,想让他迭代得出正确结果
c = 1, x = 0.8
While[Abs[c] > 0.1,
{s = Solve[{y ==
13.82 + 0.918 I + (1.0364 + 0.6064 I)*(0.798 + 0.053 I -
x) - (0.0922 + 0.047 I)*10*z,
z == 12.74 + (0.0922 + 0.047 I)*(0.798 + 0.053 I -
x) - (0.2562 + 0.2035 I)*10*z} , {y, z}, Complexes],
y = y /. s, x1 = x,
If[0.46 < (Abs[y]/13.85) < 0.9,
x = 0.8 + 1.5*(0.9 - Abs[y]/13.85)*0.8 I,
If[0.2 < (Abs[y]/13.85) < 0.46,
x = Sqrt[0.96^2 - (1.2*(0.9 - Abs[y]/13.85))^2] +
1.2 I*(0.9 - Abs[y]/13.85), x = 0.96 I]], c = x - x1}]
2019年05月05日 06点05分 1
吧务
level 7
不要想着一口吃个大胖子,先不要写循环,一句一句运行检查正确性
2019年05月05日 07点05分 2
解方程这一部分没问题,是不是后面不能再写条件语句了
2019年05月05日 07点05分
@空速星痕L 我没细看,好像解方程可以放到循环外,因为每次计算都是一样的,还有里面有一个全角逗号
2019年05月05日 08点05分
1