Tring to solve for a transcendental equation

2 ビュー (過去 30 日間)
Tyler Derstine
Tyler Derstine 2021 年 10 月 17 日
回答済み: Alan Stevens 2021 年 10 月 17 日
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

採用された回答

Alan Stevens
Alan Stevens 2021 年 10 月 17 日
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

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by