zhaiyongjia
2011-09-07, 15:21
我用mathematica8编程,结果它这样显示,我不知道哪里不对了,请各位高手帮忙。
程序如下
x0 = 1; l = 0; M = 1;
s = Function[x, (1 - 2*M*x^3 + x^2)/(x - x0)^2];
t = Function[{x, w}, (2 x - 6*M*x^2 - 2 I*w)/(x - x0)];
u = -l*(l + 1);
coeficienteDeS =
Function[n,
SeriesCoefficient[Series[s[x], {x, x0, n}], n]]; coeficienteDeT =
Function[n, SeriesCoefficient[Series[t[x, w], {x, x0, n}], n]]; P =
Function[{n, w},
n*(n - 1)*coeficienteDeS[0] + n*coeficienteDeT[0] + u];
a[0] = 1; Nit = 40;
a[n_] := a[n] =
Simplify[-1/
P[n, w] Sum[(j (j - 1) coeficienteDeS[n - j] +
j coeficienteDeT[n - j] + u) a[j], {j, 0, n - 1}]];
ex[n_] := ex[n] = Sum[a[i]*(-x0)^i, {i, 0, n}];
expressao = Sum[a[i]*(-x0)^(i), {i, 0, Nit}]; {l,
FindRoot[expressao == 0, {w, 180 - 260*I}, AccuracyGoal -> 7][[1]][[
2]]}
报错如下
FindRoot::nlnum: "The function value {False} is not a list of numbers with dimensions {1} at {w} = {180.\[VeryThinSpace]-260.` I}"
程序如下
x0 = 1; l = 0; M = 1;
s = Function[x, (1 - 2*M*x^3 + x^2)/(x - x0)^2];
t = Function[{x, w}, (2 x - 6*M*x^2 - 2 I*w)/(x - x0)];
u = -l*(l + 1);
coeficienteDeS =
Function[n,
SeriesCoefficient[Series[s[x], {x, x0, n}], n]]; coeficienteDeT =
Function[n, SeriesCoefficient[Series[t[x, w], {x, x0, n}], n]]; P =
Function[{n, w},
n*(n - 1)*coeficienteDeS[0] + n*coeficienteDeT[0] + u];
a[0] = 1; Nit = 40;
a[n_] := a[n] =
Simplify[-1/
P[n, w] Sum[(j (j - 1) coeficienteDeS[n - j] +
j coeficienteDeT[n - j] + u) a[j], {j, 0, n - 1}]];
ex[n_] := ex[n] = Sum[a[i]*(-x0)^i, {i, 0, n}];
expressao = Sum[a[i]*(-x0)^(i), {i, 0, Nit}]; {l,
FindRoot[expressao == 0, {w, 180 - 260*I}, AccuracyGoal -> 7][[1]][[
2]]}
报错如下
FindRoot::nlnum: "The function value {False} is not a list of numbers with dimensions {1} at {w} = {180.\[VeryThinSpace]-260.` I}"