# what is the matlab code for ploting dispersion against wavelength (for chromatic dispersion)?

22 visualizzazioni (ultimi 30 giorni)
Ahmed il 27 Dic 2022
Commentato: Star Strider il 29 Dic 2022
D=(-lamda*3*10^8)*(d^2(neff)/d(lamda)^2)
##### 2 CommentiMostra NessunoNascondi Nessuno
Hiro Yoshino il 27 Dic 2022
whad does "d" stand for? Is neff the refractive index?
Ahmed il 28 Dic 2022
Yes neff the refractive index
The second derivative

Accedi per commentare.

### Risposta accettata

Star Strider il 28 Dic 2022
Try this —
syms c lambda n_eff(lambda)
D_T = -(lambda/c) * diff(n_eff,2)
D_T(lambda) =
.
##### 5 CommentiMostra 3 commenti meno recentiNascondi 3 commenti meno recenti
Ahmed il 29 Dic 2022
Thank you Dr
Star Strider il 29 Dic 2022
As always, my pleasure!

Accedi per commentare.

### Più risposte (1)

Hiro Yoshino il 28 Dic 2022
You can use gradient to calculate this problem numerically.
Let me use SiO2 as an example.
Warning: Column headers from the file were modified to make them valid MATLAB identifiers before creating variable names for the table. The original column headers are saved in the VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
lambda = data.Wavelength_nm_;
n = data.n;
c = 3e8;
plot(lambda,n);
xlabel("\lambda (nm)");
Here is how to visualize D for you:
dn_dlambda = gradient(n,5); % 1st order
d2n_dlambda2 = gradient(dn_dlambda,5); % 2nd order
D = -lambda/c.*d2n_dlambda2; % your D
plot(lambda,D)
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Ahmed il 29 Dic 2022
Thank you

Accedi per commentare.

### Categorie

Scopri di più su Interpolation in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by