- 积分
- 0
- 注册时间
- 2010-10-23
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2011-3-11 12:17:09
|
显示全部楼层
来自 山东济南
本帖最后由 treemantan 于 2011-3-11 12:23 编辑
-
- Clear["Global`*"]
- R = 30; v = {};
- x = R Sin[\[Theta]] (1 + (-1)^n 0.1 Sin[6 \[Phi]]) Cos[\[Phi]];
- y = R Sin[\[Theta]] (1 + (-1)^n 0.1 Sin[6 \[Phi]]) Sin[\[Phi]];
- z = R Cos[\[Theta]];
- e = D[x, \[Theta]]^2 + D[y, \[Theta]]^2 + D[z, \[Theta]]^2;
- g = D[x, \[Phi]]^2 + D[y, \[Phi]]^2 + D[z, \[Phi]]^2;
- e1 = D[x, \[Phi]] D[x, \[Theta]] + D[y, \[Phi]] D[y, \[Theta]] +
- D[z, \[Phi]] D[z, \[Theta]];
- f[\[Phi]_, \[Theta]_] :=
- Evaluate[(e*g - e1^2)^(1/2) /. n -> Floor[(6 \[Phi])/Pi]];
- Do[
- k = Pi/m; h = Pi/(4 m);
- \[Phi][i_] := i*k;
- \[Theta][j_] := j*h;
- I0[i_, j_] :=
- k*h/9 (f[\[Phi][i - 1], \[Theta][j - 1]] +
- f[\[Phi][i + 1], \[Theta][j - 1]] +
- f[\[Phi][i - 1], \[Theta][j + 1]]
- + f[\[Phi][i + 1], \[Theta][j + 1]] +
- 4 (f[\[Phi], \[Theta][j - 1]] +
- f[\[Phi][i - 1], \[Theta][j]] +
- f[\[Phi][i + 1], \[Theta][j]] +
- f[\[Phi], \[Theta][j + 1]]) +
- 16 f[\[Phi], \[Theta][j]]);
- I1 = Sum[I0[i, j], {i, 1, 2 m - 1, 2}, {j, 1, 2 m - 1, 2}];
- totalS = I1;
- AppendTo[v, {m, totalS}], {m, {2, 4, 6, 8, 16, 24, 44, 100}}];
- Grid[Prepend[v, {"m", "S"}], Dividers -> {Center, All}]
复制代码 自己尝试了一下,应该把Abs用(-1)^n次方的形式代替,这样就可以用一个式子表示了,n应该是变化的周期,请问还有没有别的方法?(12行我是用了代替把n换成了\[Phi]的函数,从而f[,]就可以唯一表示积分函数了) |
|