Roots switching in an eigenvalue eigenvector problem as a function of frequency
2 次查看(过去 30 天)
显示 更早的评论
Hello,
I'm solving a system of 4 equations and 4 unknowns as a function of frequency and wavenumber. I'd like to find the dispersion relation of the system.
To do this I'm using the Matlab symbolic math toolbox and solving the following.
k_symbolic=solve(det(M)==0,k); %det(M) is of the form Ak^4 + Bk^2 + C
where M is my matrix representing my system of equations and k is the wavenumber.
I then substitute values for frequency as follows.
k_numeric=subs(k_symbolic,{omega},{2*pi*(1:1000)}) % or whatever frequency range I want
My problem is that when I plot my roots as a function of frequency (k_numeric(omega)) it is clear that the roots are switching. In other words the first root will continue as expected then there will be a discontinuous jump (at say 5 Hz) to the other root solution and vice-versa.
I'd like k_numeric(x) to always be the same root independent of frequency. Is this possible?
Thanks for your help!
Jeff
More details: I'm actually using subs to replace other symbolic values with numeric values which include bessel functions (not sure if this influences anything).
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!