Подскажите где найти пример фомулы расчета функций Матье из Maple, таких к примеру как MathieuC и др. (MathieuCE,MathieuA, MathieuA,етс).
Спасибо.
Функции Матье
Модератор: Admin
Что скинуть? Вот кусочек хелпа:
The Mathieu functions MathieuC(a, q, x) and MathieuS(a, q, x) are solutions of the Mathieu differential equation:
y'' + (a - 2 q cos(2 x)) y = 0
MathieuC and MathieuS are even and odd functions of x, respectively.
For countably many values of a (as a function of q), MathieuC and MathieuS are 2*Pi-periodic. For n = 0,1,2,..., MathieuA(n, q) is the nth such characteristic value for MathieuC, and for n = 1,2,..., MathieuB(n, q) is the nth characteristic value for MathieuS. The resulting Mathieu functions are:
MathieuCE(n, q, x) = c1 * MathieuC(MathieuA(n, q), q, x),
MathieuSE(n, q, x) = c2 * MathieuS(MathieuB(n, q), q, x).
where c1 and c2 are normalization constants depending on n and q.
If the index n is even, then both MathieuCE and MathieuSE are Pi-periodic; they are 2*Pi-periodic otherwise. MathieuCE and MathieuSE are even and odd functions of x, respectively.
The Mathieu functions MathieuC(a, q, x) and MathieuS(a, q, x) are solutions of the Mathieu differential equation:
y'' + (a - 2 q cos(2 x)) y = 0
MathieuC and MathieuS are even and odd functions of x, respectively.
For countably many values of a (as a function of q), MathieuC and MathieuS are 2*Pi-periodic. For n = 0,1,2,..., MathieuA(n, q) is the nth such characteristic value for MathieuC, and for n = 1,2,..., MathieuB(n, q) is the nth characteristic value for MathieuS. The resulting Mathieu functions are:
MathieuCE(n, q, x) = c1 * MathieuC(MathieuA(n, q), q, x),
MathieuSE(n, q, x) = c2 * MathieuS(MathieuB(n, q), q, x).
where c1 and c2 are normalization constants depending on n and q.
If the index n is even, then both MathieuCE and MathieuSE are Pi-periodic; they are 2*Pi-periodic otherwise. MathieuCE and MathieuSE are even and odd functions of x, respectively.
Valio писал(а):Спасибо. Я думал можно будет найти алгоритм по которому эта функция составлена.
MathieuS =
proc (a, q, z)
local A, L, Q, Z, c, s, zz, myfrac, reduce, period;
option `Copyright (c) 2002 Waterloo Maple Inc. All rights reserved.`;
if nargs <> 3 then error "expected 3 arguments, received %1", nargs
elif false then error "expected non-negative integer as first argument, got %1", a
elif false then error "expected non-negative integer as first argument, got %1", a
elif `tools/membertype`(('complex')('float'),[args])
then s := evalf(('MathieuS')(args));
if type(s,('complex')('float')) then return s end if end if;
zz := z;
if `tools/type`(q = 0) then if ('MathieuS') = ('MathieuS')
then if `tools/type`(a = 0) then return zz end if
end if;
return 1/sqrt(a)*sin(sqrt(a)*zz) end if;
if `tools/type`(zz = 0) then return 0
elif `tools/type`(zz = 0) then return 1 end if;
s := 1;
c := `tools/conjugate_symmetry`([a, q, zz],'L');
if c = false then s := `trig/sign`(zz); s*('MathieuS')(a,q,s*zz)
else A, Q, Z := op(L); s := `trig/sign`(Z); conjugate(s*('MathieuS')(A,Q,s*Z)) end if
end proc
MathieuC =
proc (a, q, z)
local A, L, Q, Z, c, s, zz, myfrac, reduce, period;
option `Copyright (c) 2002 Waterloo Maple Inc. All rights reserved.`;
if nargs <> 3 then error "expected 3 arguments, received %1", nargs
elif false then error "expected non-negative integer as first argument, got %1", a
elif false then error "expected non-negative integer as first argument, got %1", a
elif `tools/membertype`(('complex')('float'),[args]) then s := evalf(('MathieuC')(args));
if type(s,('complex')('float')) then return s end if
end if;
zz := z;
if `tools/type`(q = 0) then
if ('MathieuC') = ('MathieuS') then
if `tools/type`(a = 0) then return zz end if
end if;
return cos(sqrt(a)*zz) end if;
if `tools/type`(zz = 0) then return 1 end if;
s := 1;
c := `tools/conjugate_symmetry`([a, q, zz],'L');
if c = false then s := `trig/sign`(zz); ('MathieuC')(a,q,s*zz)
else A, Q, Z := op(L); s := `trig/sign`(Z); conjugate(('MathieuC')(A,Q,s*Z)) end if
end proc