Dispersion relation with Matlab

Click For Summary
SUMMARY

The discussion focuses on analyzing band gaps in experiments using MATLAB, specifically through the application of dispersion relations for sound waves. Users seek guidance on defining stop bands from transmission spectra derived from the FFT algorithm and inquire about obtaining phase data, which the FFT does not provide. Additionally, a MATLAB function for converting a matrix into a long vector is shared, demonstrating a practical solution for data manipulation.

PREREQUISITES
  • Understanding of dispersion relations in wave mechanics
  • Familiarity with FFT (Fast Fourier Transform) algorithms
  • Proficiency in MATLAB programming
  • Knowledge of transmission spectra and band gap phenomena
NEXT STEPS
  • Research methods for plotting dispersion relations in MATLAB
  • Learn about phase retrieval techniques beyond FFT
  • Explore the concept of anomalous dispersion in wave propagation
  • Investigate the relationship between transmission spectra and band gaps in diatomic lattices
USEFUL FOR

Researchers and students in physics and materials science, particularly those studying wave phenomena, band gaps, and utilizing MATLAB for data analysis.

Beer-monster
Messages
285
Reaction score
0
I'm studying the phenemenon of band gaps in a experiment, however the stop bands are proving hard to define using just a transmission spectrum dervived from the fft alogrithm.

I've heard that it may be possible to define the band region by plotting the dispersion relation of sound waves the sound waves and looking for regions of anomalous dispersion. Unfortunately I have no idea how to go about this, does anyone have any info on this sort of analysis that could get me started?

Could someone tell me which FT alogorithm I would need to get phase data as I think the fft only give amplitude and requency info?

Oh and one last thing, does anyone know how I can convert a matrix in MATLAB into one long vector (so that each successive column is kind of added to the end of one large column) I've been trying this for a while but not getting very far.

Thanks:wink:
 
Physics news on Phys.org
solved it in 5 mins, enjoy the function! here you go!

function out = mat2col(A)
[row col] = size(A)

for n = 1:col
out([1+(n-1)*row:n*row],1) = A(:,n);
end
 
Are you treating electrons within a solid as an incident beam of electrons?

If you have a plot of the transmission spectrum, I would think that you could estimate the stop band from that.

I think frequencies below the stop band in a diatomic lattice are acoustical, while frquencies above the stop band are optical.

What are you trying to find the tranmission spectrum of? What are you trying to find the dispersion ralation of? Of what are you trying to find the phase?
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
5K
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
9K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 3 ·
Replies
3
Views
6K