mean function gives an error but not median
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I am trying to calculate mean, median and 90% percentile of arrays. Median and prctile work fine but mean gives an error message:
Array indices must be positive integers or logical values.
Teh error comes from Averted_Deaths_Array(ij,1) = mean(Averted_Deaths(ij,:)); in the following code.
The code is simple.
TotalDeathsArray = rand(12,2500);
% Calculate Averted cases
for i=1:2500
%2: PCV13 1+1, 3: PCV15 2+1, 4: PCV15 1+1
% 1+1
Averted_Deaths(1,i) = TotalDeathsArray(2,i) - TotalDeathsArray(4,i);
Averted_Deaths(2,i) = TotalDeathsArray(6,i) - TotalDeathsArray(8,i);
Averted_Deaths(3,i) = TotalDeathsArray(10,i) - TotalDeathsArray(12,i);
% 2+1
Averted_Deaths(4,i) = TotalDeathsArray(2,i) - TotalDeathsArray(3,i);
Averted_Deaths(5,i) = TotalDeathsArray(6,i) - TotalDeathsArray(7,i);
Averted_Deaths(6,i) = TotalDeathsArray(10,i) - TotalDeathsArray(11,i);
end
Averted_Deaths_Array = zeros(6,3);
for ij=1:6 % Averted QALY
%Averted QALY when changing with New 1+1
Averted_Deaths_Array(ij,1) = mean(Averted_Deaths(ij,:));
Averted_Deaths_Array(ij,2) = median(Averted_Deaths(ij,:));
Averted_Deaths_Array(ij,3) = prctile(Averted_Deaths(ij,:),90);
end
2 Commenti
Risposta accettata
Star Strider
il 9 Gen 2025
That you are getting theee error:
Array indices must be positive integers or logical values.
indicates that somewhere in your code you have a variable named ‘mean’. You need to name it something different that makes sense in the context you are using it.
Run thiis in your Command Window or a script:
which mean -all
to confirm that. If that is true, the first entry in the results should be somethiing like:
mean is a variiable.
.
2 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Whos in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!