Matlab cant find the inverse of my function
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Muhammad Adillah
el 6 de Dic. de 2023
Comentada: Muhammad Adillah
el 6 de Dic. de 2023
My matlab cant find the inverse of this function
f =
It results in "warning: Unable to find functional inverse" and "ans = Empty syms: 0-by-1"
I've tried to remove the a variable of a and change it into a number, but the result is still the same
syms x a real
f = sqrt((a+1)/(a-1))*atan(sqrt((a-1)*(x^2-1)/(a+1)))-atan(sqrt(x^2-1))
finverse(f, a)
2 comentarios
Respuesta aceptada
Sam Chak
el 6 de Dic. de 2023
The main issue is caused by the product term because it lacks a functional inverse:
Perhaps you will gain a clearer understanding when you plot the product and its numerical functional inverse. Complex values are omitted. While the inverse exists (see red curve), it cannot be expressed in terms of standard mathematical functions.
% assume x = 3
a = -5:0.001:5;
f = atan(sqrt((a - 1)*(3^2 - 1)./(a + 1))).*sqrt((a + 1)./(a - 1));
idx = find(f == real(f));
areal = a(idx);
freal = f(f == real(f));
plot(areal, freal, '.', 'markersize', 1), hold on, grid on
plot(freal, areal, '.', 'markersize', 1)
plot(a, a, '--'), hold off
axis equal
axis([-5 5 -5 5]), xlabel a
legend('f(a)', 'f^{-1}(a)', 'location', 'NW')
Más respuestas (0)
Ver también
Categorías
Más información sobre Assumptions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
