24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2053  |  回复: 18

walk1997

金虫 (著名写手)

晕 上面这个copy过来的时候 还是会出错
手改下 下面这个copy过去可以 麻烦版主把上面不对的删除一下
f[x_] := x^7 + 2
t1 = x /. Solve[f[x] == 0, x];
t1 = DeleteCases[t1, x_ /; Element[x, Reals]];
t2 = x /. Solve[f[x] == 0, x, Reals];
eq1 := {ComplexExpand[Im[t1[]^2 - a*t1[] + b]] == 0};
r1 = Table[Solve[eq1, a], {i, 1, Length[t1]}] // Flatten;
r1 = DeleteDuplicates[r1];
eq2 := {ComplexExpand[Re[t1[]^2 - a*t1[] + b]] == 0};
r2 = Table[Solve[eq2, b], {i, 1, Length[t1]}] // Flatten;
r2 = DeleteDuplicates[r2];
r3 = Table[{r1[], r2[] /. r1[]}, {i, 1, Length[r1]}];
ff1 = Table[temp1 = x^2 - a*x + b /. r3[] // Expand; Print[temp1];
   temp1, {i, 1, Length[r3]}];
ff2 = Table[temp1 = x - t2[]; Print[temp1];
   temp1, {i, 1, Length[t2]}];
ff = Join[ff1, ff2];
N[Apply[Times, ff], 20]
11楼2012-12-16 10:55:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

晕 服了 回复后和回复前看到的就是不一样。。。。。
还是LZ自己把 上面代码里面的 []  改成 []
12楼2012-12-16 10:56:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxppyy

木虫 (小有名气)

引用回帖:
12楼: Originally posted by walk1997 at 2012-12-16 10:56:42
晕 服了 回复后和回复前看到的就是不一样。。。。。
还是LZ自己把 上面代码里面的 []  改成 []

"还是LZ自己把 上面代码里面的 []  改成 []"
没有看懂。
13楼2012-12-16 11:28:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

唉.....  [[ i ]]  copy过来总是出错 改成 [[j]]
Clear["Global`*"]
f[x_] := x^7 + 2
t1 = x /. Solve[f[x] == 0, x];
t1 = DeleteCases[t1, x_ /; Element[x, Reals]];
t2 = x /. Solve[f[x] == 0, x, Reals];
eq1 := {ComplexExpand[Im[t1[[j]]^2 - a*t1[[j]] + b]] == 0};
r1 = Table[Solve[eq1, a], {j, 1, Length[t1]}] // Flatten;
r1 = DeleteDuplicates[r1];
eq2 := {ComplexExpand[Re[t1[[j]]^2 - a*t1[[j]] + b]] == 0};
r2 = Table[Solve[eq2, b], {j, 1, Length[t1]}] // Flatten;
r2 = DeleteDuplicates[r2];
r3 = Table[{r1[[j]], r2[[j]] /. r1[[j]]}, {j, 1, Length[r1]}];
ff1 = Table[temp1 = x^2 - a*x + b /. r3[[j]] // Expand; Print[temp1];
   temp1, {j, 1, Length[r3]}];
ff2 = Table[temp1 = x - t2[[j]]; Print[temp1];
   temp1, {j, 1, Length[t2]}];
ff = Join[ff1, ff2];
N[Apply[Times, ff], 20]
14楼2012-12-16 11:30:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

上面这个总算对了 真不好意思 这么折腾
好像 [[ i ]]被系统自动理解成 斜体了
15楼2012-12-16 11:32:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxppyy

木虫 (小有名气)

引用回帖:
15楼: Originally posted by walk1997 at 2012-12-16 11:32:38
上面这个总算对了 真不好意思 这么折腾
好像 []被系统自动理解成 斜体了

我运行后结果是下面这样的,与你6楼给出的不一样,也许我用的版本太低了(4.0版)

未命名.GIF

16楼2012-12-16 12:10:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

5.2版本时 上面代码中有些命令不支持 下面这个可以在5.2上运行 你试试4.0
代码写的很笨  可能有很大空间可以优化 也许有极简单的内部命令完成 就是不清楚 哪个选项
只是计算简单 不讲究效率也可以....
--------------------------------
Clear["Global`*"]
f[x_] := x^7 + 2
t1 = x /. Solve[f[x] == 0, x];
t1 = DeleteCases[t1, x_ /; Element[x, Reals]];
t2 = x /. Solve[f[x] == 0, x];
t2 = Cases[t2, x_ /; Element[x, Reals]];
eq1 := {ComplexExpand[Im[t1[[j]]^2 - a*t1[[j]] + b]] == 0};
r1 = Table[Solve[eq1, a], {j, 1, Length[t1]}] // Flatten;
r1t = N[r1, 10];
r1 = Table[If[! MemberQ[Take[r1t, j - 1], r1t[[j]]],
r1[[j]], xxxx], {j, 1, Length[r1t]}];
r1 = DeleteCases[r1, xxxx];
(*r1 = DeleteDuplicates[r1]*)
eq2 := {ComplexExpand[Re[t1[[j]]^2 - a*t1[[j]] + b]] == 0};
r2 = Table[Solve[eq2, b], {j, 1, Length[t1]}] // Flatten;
(*r2 = DeleteDuplicates[r2]*)
r2t = N[r1, 10];
r2 = Table[If[!
    MemberQ[Take[
      r2t, j - 1], r2t[[j]]], r2[[j]], xxxx], {j, 1, Length[r2t]}];
r2 = DeleteCases[r2, xxxx];
r3 = Table[{r1[[j]], r2[[j]] /. r1[[j]]}, {j, 1, Length[r1]}];
ff1 = Table[temp1 = x^2 - a*x + b /. r3[[j]] // Expand; Print[temp1];
      temp1, {j, 1, Length[r3]}];
ff2 = Table[temp1 = x - t2[[j]]; Print[temp1];
      temp1, {j, 1, Length[t2]}];
ff = Join[ff1, ff2];
N[Apply[Times, ff], 20]
17楼2012-12-16 13:27:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

上面"r2t = N[r1, 10]; ”  改成  "r2t = N[r2, 10];"
18楼2012-12-16 13:30:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxppyy

木虫 (小有名气)

引用回帖:
18楼: Originally posted by walk1997 at 2012-12-16 13:30:09
上面"r2t = N; ”  改成  "r2t = N;"

这样可以了,谢谢!
19楼2013-02-05 22:39:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xxppyy 的主题更新
信息提示
请填处理意见