Skip to content
Snippets Groups Projects
Verified Commit 12141f4c authored by Thomas Lambert's avatar Thomas Lambert :helicopter:
Browse files

feat(Result): add advRatio support in plotperf

parent 5876a34b
No related branches found
No related tags found
No related merge requests found
......@@ -45,7 +45,8 @@ function plotperf(self, varargin)
% Defaults and constants
DEF.ALLOWED_PROPERTIES = {'thrust', 'torque', 'power', 'eff', 'cT', 'cQ', 'cP'};
DEF.allowed_oper = self.operPts.Properties.VariableNames;
DEF.base_oper = self.operPts.Properties.VariableNames;
DEF.allowed_oper = [DEF.base_oper, 'advRat']; % Also allows advance ratio
DEF.ALLOWED_SOLVERS = {'leishman', 'indfact', 'indvel', 'stahlhut'};
% Parse inputs
......@@ -62,9 +63,14 @@ function plotperf(self, varargin)
thissolv = solvers{iSolv};
if ~isempty(self.(thissolv))
if strcmpi(oper, 'advRat')
operVect = vectorize(filtered.(thissolv), 'advanceRatio');
else
operVect = self.operPts(idx, :).(oper);
end
dataVect = vectorize(filtered.(thissolv), perf);
plot(self.operPts(idx, :).(oper), dataVect, 'DisplayName', solvers{iSolv});
plot(operVect, dataVect, 'DisplayName', solvers{iSolv});
hold on;
end
end
......@@ -93,11 +99,16 @@ function [perf, oper, solvers, operPt, newFig] = parseinputs(DEF, varargin)
oper = p.Results.oper;
solvers = p.Results.solvers;
operPt = struct('altitude', [], 'speed', [], 'rpm', [], 'collective', []);
for i = 1:length(DEF.allowed_oper)
curOp = DEF.allowed_oper{i};
for i = 1:length(DEF.base_oper)
curOp = DEF.base_oper{i};
operPt.(curOp) = p.Results.(curOp);
end
operPt.(p.Results.oper) = NaN;
if strcmpi(p.Results.oper, 'advRat')
operPt.rpm = NaN;
operPt.speed = NaN;
else
operPt.(p.Results.oper) = NaN;
end
newFig = p.Results.newFig;
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment