第 2 種フレドホルム積分方程式に似た方程式があります。
この方程式を解くために、特定の方程式に収束することが保証されている反復解が与えられています。ここでの唯一の問題は、この反復法を MATLAB で実装することです。
今のところ、コードの問題のある部分は次のようになります。
function delta = delta(x,a,P,H,E,c,c0,w)
delt = @(x)delta_a(x,a,P,H,E,c0,w);
for i=1:500
delt = @(x)delt(x) - 1/E.*integral(@(xi)((c(1)-c(2)*delt(xi))*ms(xi,x,a,P,H,w)),0,a-0.001);
end
delta=delt;
end
delta_a
の関数でx
あり、反復の初期値を表します。とms
の関数です。x
xi
お気づきかもしれませんが、反復では (積分の前) と(積分の内側) のdelt
両方に依存したいと考えています。残念ながら、このコードの書き方 (関数ハンドルを使用) では、希望どおりの数値が得られません。は定義されていないため (定義するまで)、のとの の 2 つの異なる関数として記述することもできません。では、それが積分の内部に依存していることを確認しながら、反復から数値を取得するにはどうすればよいでしょうか?x
xi
delt
x
xi
xi
integral
delt
xi
これを解決する方法について何か提案はありますか?
数値積分の使用
入力パラメータの説明: x は数値のベクトルで、残りはすべて定数です。私のコードの問題は、入力パラメーター x が使用されていないことです (これは、x がシンボルとして扱われていることを意味すると思います)。