Skip to content
Snippets Groups Projects
Commit a3665599 authored by giuliaghirardini's avatar giuliaghirardini
Browse files

[msa-refactoring][classes] Implemented new method for wind class

parent 60008658
Branches
No related tags found
1 merge request!2Final data structure
......@@ -54,6 +54,51 @@ classdef Wind < Component
end
function setData(obj) % new setWindData
s = length(obj.altitudes);
if s<=1
obj.constantWind = true;
if strcmp(settings.magDistribution(1), "u")
mag = rand(1)*(obj.mag(2,1) - obj.mag(1,1)) + obj.mag(1,1);
else
mag = normrnd(obj.mag(1,1), obj.mag(2,1), 1);
end
if strcmp(settings.azDistribution(1), "u")
az = rand(1)*(obj.az(2,1) - obj.az(1,1)) + obj.az(1,1);
else
az = normrnd(obj.az(1,1), obj.az(2,1), 1);
end
obj.magVec = mag;
obj.azVec = az;
else
obj.constantWind = false;
magVector = nan(1,s);
azVector = nan(1,s);
isUniformMag = strcmp(obj.magDistribution, "u");
isUniformAz = strcmp(obj.azDistribution, "u");
uniformDis = @(val1, val2) rand(1)*(val2 - val1) + val1;
gaussianDis = @(mean, sigma) normrnd(mean, sigma, 1);
for i = 1:s
if isUniformMag(i)
magVector(i) = uniformDis(obj.mag(1,i), obj.mag(2,i));
else
magVector(i) = gaussianDis(obj.mag(1,i), obj.mag(2,i));
end
if isUniformAz(i)
azVector(i) = uniformDis(obj.az(1,i), obj.az(2,i));
else
azVector(i) = gaussianDis(obj.az(1,i), obj.az(2,i));
end
end
obj.magVec = magVector;
obj.azVec = azVector;
end
end
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment