Код:
> Moment := proc (n1::integer, L1::integer, n2::integer, L2::integer, R::numeric, power::integer) local norm1, norm2; E1 := BracketRoot(n1-l1, l1, R) ; #некое значение norm1 := evalf(Int(x^(2*l1+2)*'Func(E1, l1, x)'^2, x = 0 .. R)) #тут проблема; E2 := BracketRoot(n2-l2, l2, R); #другое значение norm2 := evalf(Int(x^(2*l1+2)*'Func(E2, l2, x)'^2, x = 0 .. R));# и тут return evalf(Int(x^(l1+l2+power+2)*'Func(E1,l1,x)'*'Func(E2,l2,x)', x = 0 .. R)); # и тут end proc;
Вот так определена функция
Код:
> Func := proc (E::numeric, L::integer, R::numeric) local a0, a1, a2, S, n, Z; Z := 1; a0 := 1; a1 := -Z/(1+L); a2 := -(2*a1*Z+2*E*a0)/(4*L+6); S := a0+a1*R+a2*R^2; for n from 3 while 0.1e-19 < abs(a2*R^(n-1)) or 0.1e-19 < abs(a1*R^(n-2)) do a0 := a1; a1 := a2; a2 := -(2*a1*Z+2*E*a0)/((2*L+1+n)*n); S := S+a2*R^n end do; return evalf(S) end proc;