mean function gives an error but not median

8 visualizaciones (últimos 30 días)
Yoon
Yoon el 9 de En. de 2025
Comentada: Star Strider el 9 de En. de 2025
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 comentarios
Torsten
Torsten el 9 de En. de 2025
Editada: Torsten el 9 de En. de 2025
Works for me (see above).
Maybe you use a variable named "mean" or you have a file named "mean.m" in your working directory. If so, rename the variable/file.
Yoon
Yoon el 9 de En. de 2025
Thank you!. When I loaded a mat file, there was an array called 'mean'. It works now.

Iniciar sesión para comentar.

Respuesta aceptada

Star Strider
Star Strider el 9 de En. de 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 comentarios
Yoon
Yoon el 9 de En. de 2025
Thank you!. When I loaded a mat file, there was an array called 'mean'. It works now.
Star Strider
Star Strider el 9 de En. de 2025
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by