Evaluation of a function where some of the expression are above realmax but the value of the function at each point is not

조회 수: 3 (최근 30일)
Hi guys,
I try to evluate the following function,
Rnm = besselj(n,m1*r)-(besselj(n,m1)/besseli(n,m1))*besseli(n,m1*r);
Ynm = besselj(n,m1*r)+(besselj(n+1,m1)-besselj(n-1,m2))/(besseli(n+1,m1)+besseli(n-1,m2))*besseli(n,m2*r);
Where n is an integer, m1 and m2 are a real numbers, and r is a vector spaning from 0 to 1. And thus the resulted Rnm variable is also a vector same size as r.
I have a problem to evluate this vectors while working with large numbers of m1 and m2 (both are at the smae order always but not the exact values, and large means order of 1000). The issue is the besseli function, which are similar to exponants so they reach to vlaues above realmax at the edges of the domain, but as I also devide by them the result supposed to be an osilating function decaying to zero at r=0.
I look for an option to evluate this function for larger numbers of m1 and m2 as well.
Thanks in advance,
Israel.

답변 (1개)

praguna manvi
praguna manvi 2024년 7월 16일
Hi,
To evaluate the above expressions "Rnm" and "Ynm", you could use scaling of the “Bessel” functions of the form “I = besseli/j (nu,Z,scale)”. I was able to generate an oscillating plot decaying at "r=0" using the same equations for "m1" & "m2" at values 1e6.

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

제품


릴리스

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by