求助,急,调用前一个程序的运算结果进行循环运算,求助
mathematica吧
全部回复
仅看楼主
level 1
运行后得到三个坐标,如何将这三个坐标调用替换掉前面的p={c,d}计算出新的坐标?
NN = 3;
F[x_, y_, n_] :=
If[n == 1, y,
If[n == 2, y - Sqrt[3] x,
If[n == 3, y + Sqrt[3] (x - a), "n should be 1,2,or 3"]]];
P = {c, d}; ans = {}; point = 0;
Do[{ff = F[x, y, n];
Subscript[A, n] = Coefficient[ff, x];
Subscript[B, n] = Coefficient[ff, y];
Subscript[C, n] = ff - Subscript[A, n] x - Subscript[B, n] y;
If[Subscript[A, n] == 0, {ans = Append[ans, {c, -d}];
point = point + 1},
{cen =
Solve[{ff == 0,
y - d == Subscript[B, n]/Subscript[A, n] (x - c)}, {x, y}][[
1]]; xx = x /. cen; yy = y /. cen;
PP = Solve[{c + e == 2 xx, d + f == 2 yy}, {e, f}][[1]];
G = e /. PP; H = f /. PP; PP = {G, H};
ans = Append[ans, PP] // Simplify; point = point + 1}
]
}, {n, 1, NN}];
point
ans
2018年03月17日 04点03分 1
1