diff --git a/resultsanalysis.m b/resultsanalysis.m index 65c726c71f134717098d5912d26d09d524313a02..d00710830cdd5c26daee872ff062dccd45975763 100644 --- a/resultsanalysis.m +++ b/resultsanalysis.m @@ -83,7 +83,6 @@ function ResData = getmeancoefficients(ResData) % Transform forces/moments into coefficients ResData(i, j) = calccoeff(ResData(i, j)); - end end end @@ -93,18 +92,22 @@ function ResData = calccoeff(ResData) POSITIONS = {'Front', 'Aft'}; CHORD = 0.05; SPAN = 2 * 0.2; + C_TO_K = 273.15; - if ~isempty(ResData.Phase.idx) - for i = 1:length(ResData.Phase.idx) + for i = 1:length(ResData.Phase) + if ~isempty(ResData.Phase(i).idx) for j = 1:length(POSITIONS) - dens = airdensity(ResData.Testcase.temp, ResData.Testcase.press); + dens = airdensity(ResData.Testcase.temp + C_TO_K, ResData.Testcase.press); speed = ResData.Testcase.airspeed; + coeffF = forcetocoeff(ResData.Phase(i).(POSITIONS{j}).forces, ... dens, speed, CHORD, SPAN, 'force'); coeffM = forcetocoeff(ResData.Phase(i).(POSITIONS{j}).moments, ... dens, speed, CHORD, SPAN, 'moment'); + + ResData.Phase(i).(POSITIONS{j}).cF = coeffF; + ResData.Phase(i).(POSITIONS{j}).cM = coeffM; end end end - end diff --git a/utils/analysis/findwingphase.m b/utils/analysis/findwingphase.m index 58023f681a62374cd040c5d6d55aed876777a63e..65b9bfea2963f1166a4999a722a88409d2615d8a 100644 --- a/utils/analysis/findwingphase.m +++ b/utils/analysis/findwingphase.m @@ -126,6 +126,11 @@ function signalRange = findsyncedpeaks(signal1, signal2, nPeriodIdx, offset, nPe % Signal ranges where it is properly synchronized signalRange = peakLocs1([offsetIdx - 1, offsetIdx + 1]); + % FIXME: Hackyway to make it work + if numel(signalRange) == 2 + signalRange = signalRange'; + end + if DEBUG peakLocs = peakLocs1(offsetIdx); % Location of the peaks figure; diff --git a/utils/analysis/removeinertia.m b/utils/analysis/removeinertia.m index 2d474acf1401d2cd593824a31d4c7608dbf06de7..d154532027273dec867d0cac36c80508c069c7de 100644 --- a/utils/analysis/removeinertia.m +++ b/utils/analysis/removeinertia.m @@ -17,9 +17,9 @@ function ResData = removeinertia(ResData, ResDataWO, field) for i = 1:length(ResData.Phase) if ~isempty(ResData.Phase(i).idx) for j = 1:size(ResData.Phase(i).idx, 1) - syncedRange = ResData.Phase(i).idx(1):ResData.Phase(i).idx(2); - meanF(j, :) = mean(ResDataWO.(field).forces(syncedRange)); - meanM(j, :) = mean(ResDataWO.(field).moments(syncedRange)); + syncedRange = ResData.Phase(i).idx(j, 1):ResData.Phase(i).idx(j, 2); + meanF(j, :) = mean(ResData.(field).forces(syncedRange, :)); + meanM(j, :) = mean(ResData.(field).moments(syncedRange, :)); end ResData.Phase(i).(field).rawF = mean(meanF); ResData.Phase(i).(field).rawM = mean(meanM);