シンボリック計算にはmatlabを使用します。長い計算の結果、ベッセル関数の組み合わせであるxの関数が得られ、それがゼロであることを確認したいと思います。
そのためにfzero
、Matlabの関数を使用します。ただし、単一ベッセル関数では完全に機能しますが、鉱山関数では機能しません。
>> fzero(@(x)besselj(0,x), 3.5)
ans =
2.4048
>> fzero(@(x)DELTA_xi, 3.5)
??? Undefined function or method 'isfinite' for input arguments of type 'sym'.
Error in ==> fzero at 333
elseif ~isfinite(fx) || ~isreal(fx)
>> DELTA_xi
besseli(1, (3*x)/10)*besselj(1, (3*x)/10)*besselk(1, x)*bessely(0, x) - besseli(1, (3*x)/10)*besselj(1, (3*x)/10)*besselk(0, x)*bessely(1, x) - besseli(1, (3*x)/10)*bessely(1, (3*x)/10)*besselj(0, x)*besselk(1, x) + besseli(1, (3*x)/10)*bessely(1, (3*x)/10)*besselj(1, x)*besselk(0, x) - besselj(1, (3*x)/10)*besselk(1, (3*x)/10)*besseli(0, x)*bessely(1, x) - besselj(1, (3*x)/10)*besselk(1, (3*x)/10)*besseli(1, x)*bessely(0, x) + besselk(1, (3*x)/10)*bessely(1, (3*x)/10)*besseli(0, x)*besselj(1, x) + besselk(1, (3*x)/10)*bessely(1, (3*x)/10)*besseli(1, x)*besselj(0, x)
なぜこれが起こるのですか?問題を解決する方法は?
前もって感謝します