Estoy tratando de resolver la integral de la variable x (de 0 a Inf), que es la función de la variable S. Quiero resolver esta integral y encontrar el vector de resultados dependiente de la variable S. integral
Quiero luego aproximar esta función por polyfit (para tener una función E (S))
nu=0; int_val=zeros([255,1]); for i=1:10 S=i/100; %besselj(0,S*2) fun = @(x)log(abs(x-(pi/2)^2.*(-S.^2/2))).*x.*exp((x.^2+S.^2)/2).*besselj(nu,S.*x); int_val(i) = integral(fun,0,Inf); end
Desafortunadamente, el MATBAL calcula solo el número de NaN. Es muy importante para mí .. Por favor, ayuda.
Respuestas
0 para la respuesta № 1Como ya he escrito en los comentarios, su función integrand está creciendo hasta el infinito para x grande. Por lo tanto, la integral no puede converger.
El siguiente código
nu=0;
int_val=zeros([255,1]);
i = 1;
S=i/100;
fun = @(x)log(abs(x-(pi/2)^2.*(-S.^2/2))).*x.*exp((x.^2+S.^2)/2).*besselj(nu,S.*x);
x = 0:0.1:100;
semilogy(x, fun(x))
resultados en esta parcela:
No puede integrar una función como esa desde 0 hasta el infinito, ya que el resultado no converge a un número finito.
En su respuesta anterior, usted declara que S (x) dependeen x Sin embargo, en su código S es una constante. Tal vez ese sea el problema: si reemplaza S por una función real de x que va de cero para x hasta el infinito, podría terminar con una integral convergente.