# Cardiac Output Estimation from Arterial Blood Pressure Waveforms 1.0.0

File: <base>/code/5evaluate/vv_rand.m (1,508 bytes)
function [roc N]=vv_rand(alg)

roc = zeros(100,1);
N = zeros(100,1);
tcostd = zeros(100,1);

warning off MATLAB:divideByZero
for j=1:100
p=j-1;

qq = [];
rr = [];
for i=1:length(estco)
ind = find(sqi{i}>p);

x = estco{i,alg}(ind,1);
%x = rand(size(d{i,1}(ind,4)));   % random number generator
%x = ones(size(d{i,1}(ind,4)));  % constant number
%xx = randperm(size(d{i,1}(ind,4))); x=d{i,1}(ind,4); x = x(xx); % random permutator

r = tco{i}(ind,3);
if length(x)<2
continue
end
k = calib(r,x,1);
q = k.*x;
%q = x; % no recalibration

%         plot(d{i,1}(ind,2),r,'.-r');
%         hold on
%         plot(d{i,1}(ind,2),q,'.-');
%         hold off
%         title(num2str(d{i,2}));
%         pause

qq = [qq; q];
rr = [rr; r];
end

ind2 = find(isnan(qq));
qq(ind2)=[];
rr(ind2)=[];

N(j) = length(qq);
roc(j) = std(qq-rr);
tcostd(j) = std(rr);
%     if j==1 | j==100
%         figure; hist(rr,100);
%     end

end

% plotting
% figure('position',[75 217 839 713])
% subplot(2,1,1)
% plot(roc,'.-'); grid
% xlim([0 100]);
% title('error at 1 \sigma')
% ylabel('x-r [L/min]')
% xlabel('minimum accepted sqi')
% subplot(2,1,2)
% plot(N/N(1),'.-r'); grid
% xlim([0 100]);
% ylabel('normalized data quantity')
% xlabel('minimum accepted sqi')