Using an array inside a function
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Ben Hendrickson
il 12 Feb 2021
Risposto: Star Strider
il 12 Feb 2021
I have a spectral block (512,512,16) that can be thought of as the output from a multiband image sensor (16 spectral slices). I'd like to integrate over the slices to produce a single image (512,512). The integral includes a wavelength term, so I figured it'd be best to use a function handle, but I can't reason a way to operate on the entire block all at once. I could loop through pixel by pixel, but I'm sure there's a more clever way to go about this. Thoughts?
Thanks,
Ben
0 Commenti
Risposta accettata
Star Strider
il 12 Feb 2021
SB = randn(512,512,16); % Create Matrix
Lambda = 1./(1:16); % Create Wavelength Vector (Guessing Here)
IntSB = trapz(Lambda,SB,3); % Numerical Integration Over Dimension #3
The result will be a (512,512) matrix.
Also consider cumtrapz, depending on the result you want.
0 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!