Example plot:

Syntax: It's the same as the MATLAB plot command, and it should accept Property/Value pairs and LineSpecs the same way. The restrictions are that the y-coordinate must have y between 0 and 1, not including either, for obvious mathematical reasons.

The diabatic transformation is:

y_diabatic = 1-log(log(1/y_linear))

where the logs are base 10.

Example syntax:

In the following, lambda is a vector of wavelength values, transmittance_BG39UG11 is a vector of BG39/UG11 stack transmittances value (expressed as decimals between 0 and 1), and transmittance_S8612UG11 is a vector of S8612/UG11 stack transmittance values expressed the same way.

figure minLambda = 240; maxLambda = 1100; maxT = 0.85; minT = 1e-11; d_BG39UG11 = [2.5, 2.0]*1e-3; %m d_S8612UG11 = [1.5, 2.0]*1e-3; %m %[Stack transmittance calculations were here, but I removed them from this example code...] diabatic(lambda, transmittance_BG39UG11, 'r--',... lambda, transmittance_S8612UG11, 'b--','LineWidth', 1); axis([minLambda, maxLambda, 1-log10(log10(1./1e-8)), 1-log10(log10(1./0.8))]); legend(sprintf('Transmittance %1.3g mm BG39/ %1.3g mm UG11',d_BG39UG11(1)*1000, d_BG39UG11(2)*1000),... sprintf('Transmittance %1.3g mm S8612/ %1.3g mm UG11',d_S8612UG11(1)*1000, d_S8612UG11(2)*1000)); xlabel('Wavelength (nm)'); ylabel('Transmittance'); title('Transmittance (diabatic scale)');

The code is at my dropbox (and if the link dies, just shoot me a message):

https://dl.dropboxus...4858/diabatic.m

**Edited by Andy Perrin, 15 August 2017 - 16:02.**