How to find inverse of a self written integral function?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Rajendra Gupta
el 11 de Mayo de 2018
Editada: Walter Roberson
el 28 de Nov. de 2020
I have defined a function y=iMyF(x) containing an integral written as y=5*log10[4345*\int_0^x du/sqrt(0.3*(1+u)^2+0.7)] so that I can find y for a given value of x. How can I find x for a given value y for this function? I want to use the inverse function to fit a data set using the curve fitting tool.
16 comentarios
Walter Roberson
el 28 de Nov. de 2020
Editada: Walter Roberson
el 28 de Nov. de 2020
Could you confirm that you want the scaled gamma incomplete and not the unscaled?
It looks plausible to me that the sqrt() could be acting on a negative value, leading to complex, but then converted to real by the abs() ? Does that sound accurate?
Walter Roberson
el 28 de Nov. de 2020
I see article https://www.researchgate.net/publication/3388532_Inverse_incomplete_gamma_function_and_its_application . Perhaps some of its ideas could be used as steps in developing the expression you need. It would not be easy though.
Respuesta aceptada
Jeff Miller
el 12 de Mayo de 2018
No doubt there are more efficient methods for your particular function, but a quick and dirty general approach is to make a function using fzero. I don't do this often, but I think it would look something like this:
function x = myinverse(y, guess)
fun = @(z) (iMyF(z)-y); % parameterized function
x = fzero(fun,guess) % guess is your initial pretty good guess for x
end
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!