Tring to solve for a transcendental equation

1 view (last 30 days)
Hi,
I am tring to solve a transcendental equation.
L=0:.005:.15;
syms eigen
Bi=(100*L)/1.5
eigen=Bi/tan(eigen)
I want to find the value for eigen. I have not been able to figure out how to do this. All I have gotten is it outputting equations. How can I go about this to solve for eigen.
Thanks

Accepted Answer

Alan Stevens
Alan Stevens on 17 Oct 2021
You can rearrange the equation as eigen*tan(eigen) = Bi and use fzero as below. However, because of the nature of tan, your results will depend on your initial guesses.
L=0:.005:.15;
Bi=(100*L)/1.5;
eigen = zeros(1,numel(L));
eig = 1; % Initial guess
for i = 1:numel(L)
eigen(i) = fzero(@(eig) efn(eig,Bi(i)),eig);
end
function Z = efn(eig, Bi)
Z = eig*tan(eig) - Bi;
end

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!