5.2 Struve Functions
85
5.2.3 The Class Struve
The SPECFUNPHYS class struve allows the evaluation of the Struve functions
H ν (z), K ν (z), L ν (z), and M ν (z) for complex orders ν and complex arguments z.
The syntax is [obj,result] = struve(wh,nu,z), “wh” carries the
information which Struve function shall be evaluated, with values “H”, “K”, “L”,
and “M”. The order ν and the argument z could be complex arrays, either of same
size or one has to be a scalar value. The return values are the object “obj” of the
class and the function value “result”. “obj” comes with the properties “value”, the
function values, the input “z” at which the function will be evaluated, the order “nu”
and some general information with computational hints “info”.
Example
The result of the following example is shown in Fig. 5.1:
alpha = linspace(-pi,pi,1000);
% complex domain
z = exp(i * alpha);
% input variable Z
figure
%
nu = 1;
% order of the
% Struve function
objH = struve(’H’,nu,z);
% and evaluation
subplot(1,2,1)
% visualization
plot3(real(objH.value), imag(objH.value), alpha)
axis tight, grid on, shg
xlabel(’real’), ylabel(’imag’), zlabel(’\alpha’)
%
nu = 2;
% order
objH = struve(’H’,nu,z);
% evaluation
subplot(1,2,2)
% visualization
plot3(real(objH.value), imag(objH.value), alpha)
axis tight, grid on, shg
xlabel(’real’), ylabel(’imag’), zlabel(’\alpha’)
>> objH
objH =
struve with properties:
value: [1x1000 double]
z: [1x1000 double]
nu: 2
info: ’Struve function H:
Computation based on series expansion’
In case one is only interested in the function value, an alternative is
[˜,result] = struve(’H’,nu,z); or
result = struve(’H’,nu,z).value.
85
5.2.3 The Class Struve
The SPECFUNPHYS class struve allows the evaluation of the Struve functions
H ν (z), K ν (z), L ν (z), and M ν (z) for complex orders ν and complex arguments z.
The syntax is [obj,result] = struve(wh,nu,z), “wh” carries the
information which Struve function shall be evaluated, with values “H”, “K”, “L”,
and “M”. The order ν and the argument z could be complex arrays, either of same
size or one has to be a scalar value. The return values are the object “obj” of the
class and the function value “result”. “obj” comes with the properties “value”, the
function values, the input “z” at which the function will be evaluated, the order “nu”
and some general information with computational hints “info”.
Example
The result of the following example is shown in Fig. 5.1:
alpha = linspace(-pi,pi,1000);
% complex domain
z = exp(i * alpha);
% input variable Z
figure
%
nu = 1;
% order of the
% Struve function
objH = struve(’H’,nu,z);
% and evaluation
subplot(1,2,1)
% visualization
plot3(real(objH.value), imag(objH.value), alpha)
axis tight, grid on, shg
xlabel(’real’), ylabel(’imag’), zlabel(’\alpha’)
%
nu = 2;
% order
objH = struve(’H’,nu,z);
% evaluation
subplot(1,2,2)
% visualization
plot3(real(objH.value), imag(objH.value), alpha)
axis tight, grid on, shg
xlabel(’real’), ylabel(’imag’), zlabel(’\alpha’)
>> objH
objH =
struve with properties:
value: [1x1000 double]
z: [1x1000 double]
nu: 2
info: ’Struve function H:
Computation based on series expansion’
In case one is only interested in the function value, an alternative is
[˜,result] = struve(’H’,nu,z); or
result = struve(’H’,nu,z).value.
