Replacing values in an array over a certain value

I am currently writing a piece of software that will calculate solar radiation on a vertical plane. I currently have a 1x49 array, containing values for my incident angle, however some of these values are greater than 90, and i wish to minus 180 from them. How do i go about doing that? I have attached my code below.
angleIncidence = acosd((sind(angleDeclin).*sind(lat - tilt))+(cosd(angleDeclin).*cosd(lat-tilt).*cosd(w)));
if angleIncidence > 90
angleIncidence = 180 - angleIncidence;
end
I have also tried:
angleIncidence(angleIncidence > 90) = 180 - angleIncidence

 Accepted Answer

mask = angleIncidence > 90;
angleIncidence(mask) = 180 - angleIncidence(mask);

Categories

Community Treasure Hunt

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

Start Hunting!