how to create wind direction categoricals

3 views (last 30 days)
Hello. I m trying to create categoricals from wind directions (0 - 359 degrees) for 4 values: 1 = airport; 2 = bus_sta; 3= road; 4 = other
The compass degree ranges, resectively, are below, in a for loop, which did not work. I want to store the vlues in a vector of length specifed:
for i = 1:length(T1.classification)
if (45<=RMET2.Deg)&(RMET2.Deg<=65)
impact = impact(i);
elseif (260<=RMET2.Deg)&(RMET2.Deg<=280)
impact = impact(i);
elseif (80<=RMET2.Deg)&(RMET2.Deg<=100)
impact = impact(i);
else impact = impact;
end
end
  5 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 13 Mar 2023
RMET2.Deg = (0:15:360).';
dirs = discretize(RMET2.Deg, [0 45 65 80 100 260 280 360], {'other', 'airport', 'other', 'bus_sta', 'other', 'road', 'other'});
disp(table(RMET2.Deg, dirs))
Var1 Var2 ____ ___________ 0 {'other' } 15 {'other' } 30 {'other' } 45 {'airport'} 60 {'airport'} 75 {'other' } 90 {'bus_sta'} 105 {'other' } 120 {'other' } 135 {'other' } 150 {'other' } 165 {'other' } 180 {'other' } 195 {'other' } 210 {'other' } 225 {'other' } 240 {'other' } 255 {'other' } 270 {'road' } 285 {'other' } 300 {'other' } 315 {'other' } 330 {'other' } 345 {'other' } 360 {'other' }
  3 Comments
Douglas Leaffer
Douglas Leaffer on 13 Mar 2023
This worked for me:
catnames = ["other", "airport", "other", "bus_sta", "other", "road", "other"];
ImpactWind = discretize(RMET2.Deg,[0 45 65 80 100 260 280 360],'categorical',catnames);

Sign in to comment.

More Answers (0)

Categories

Find more on Categorical Arrays in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!