大丈夫!多くの調査と作業を通じて、私はこの問題に対する答えを決定しました。さて、私がこのサイトで質問に答えるのは実はこれが初めてです。
まず、ベッセル・フーリエ級数については正しかったようです。関数近似を得るためにベッセル級数だけを使用することは不可能です。ベッセル関数から始まり、x をスケーリングし、フーリエ変換を含む多くのトリックを実行する長いプロセスを通じて、関数のベッセル-フーリエ表現が次の形式で与えられることを確認できます。
f(x) = A1*J_0(z1x) + A2*J_0(z2x) + ....
ここで、z1 は一次ベッセル関数の零点、J_0 は一次ベッセル関数の 0 番目、A1 はフーリエ ベッセル級数の係数です。ゼロはベッセル関数をプロットするだけで簡単に取得できますが、係数は扱いにくい部分です。それらは次の式で与えられます。
An = (2/(J_1(zn)^2))*積分(x*f(x)*J_0(zn*x), 0, 1)
言うまでもなく、これの難しい部分は、ベッセル関数の積分を取得することです。しかし、この素敵なリストを使用することで、プロセスを簡単にすることができます. めんどくさい....でもシンプル。また、積分は 0 から 1 であることに注意してください。これが私の割り当ての性質であるためです。問題がそれを 0 から 2 にスケーリングすることであった場合、式は次のようになります。
An = (2/(2^2)*(J_1(zn)^2))*積分(x*f(x)*J_0(zn*x), 0, 2)
しかし、私は脱線します。私の課題では、最初の 5 つの値を個別にグラフ化し、それらを合計して、結果を実際の関数と比較することも求められていたので、それが私が行ったことです。したがって、ここにコードがあります。
%%Plotting the Bessel Functions
a=[2.40483, 5.52008, 8.65373, 11.7915, 14.9309]; %a matrix with the first 5 zeros for a first order Bessle Function
A=zeros(5,1);
F=zeros(1, 100);
X=linspace(0,1);
for i=1:1:5
A(i,1)= (2*(besselj(1,a(i))*struve(0,a(i))-besselj(0,a(i))*struve(1,a(i))))/((a(i)^2)*(besselj(1,a(i)))^2)*(3.14/2);
%the equation to determine the coefficients of the Bessel-Fourier series
end
for i=1:1:5
figure(i);
plot(X, A(i,1)*besselj(0, (a(i)*X))); %plot the first 5 Bessel functions
end
for i=1:1:5
F=F+A(i,1)*besselj(0, (a(i)*X)); %adding all the Bessel functions together
end
figure(6);
plot(X, F); %plotting the Bessel functions and 1-x
hold on
plot(X, 1-X);
%%Struve Function
function f=struve(v,x,n)
% Calculates the Struve Function
%
% struve(v,x)
% struve(v,x,n)
%
% H_v(x) is the struve function and n is the length of
% the series calculation (n=100 if unspecified)
%
% from: Abramowitz and Stegun: Handbook of Mathematical Functions
% http://www.math.sfu.ca/~cbm/aands/page_496.htm
if nargin<3
n=100;
end
k=0:n;
x=x(:)';
k=k(:);
xx=repmat(x,length(k),1);
kk=repmat(k,1,length(x));
TOP=(-1).^kk;
BOT=gamma(kk+1.5).*gamma(kk+v+1.5);
RIGHT=(xx./2).^(2.*kk+v+1);
FULL=TOP./BOT.*RIGHT;
f=sum(FULL);
そして、そこに行きます。ストルーベ関数コードはこの場所からのものでした
これがお役に立てば幸いです。重大な間違いを犯した場合は教えてください。正直なところ、教科書から得たばかりなので、そこまでの方程式をこれ以上説明することはできません.
幸運をお祈りしています!