Replacing values in an array over a certain value
1 view (last 30 days)
Show older comments
Suniel Mudhar
on 14 Apr 2020
Answered: Cris LaPierre
on 14 Apr 2020
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
0 Comments
Accepted Answer
Walter Roberson
on 14 Apr 2020
mask = angleIncidence > 90;
angleIncidence(mask) = 180 - angleIncidence(mask);
0 Comments
More Answers (1)
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!