Strange issue with mean, max, and min of vector?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I am having an issue with finding the mean max and min of a vector (attached). All values in the vector are positive (increments of time) and less than 1. However, when I test the mean() = -8.0219, max = 9.5770, min = -4.3200e+04. When I try to find() the indices of the min and max, it says that it is 1 but, the value at index 1 is 0.012.
When you test the vector, do you get the same result? Why is it outputting these incorrect values?
0 Commenti
Risposta accettata
Star Strider
il 18 Giu 2024
Modificato: Star Strider
il 18 Giu 2024
See the plotted values —
load('diffT.mat')
whos('-file','diffT')
% diffT
neg_vals = nnz(diffT < 0)
[lo,hi] = bounds(diffT)
diffT_median = median(diffT)
diffT_mean = mean(diffT)
figure
plot(diffT)
grid
xlabel('Index')
ylabel('diffT (Everything)')
figure
plot(diffT)
grid
xlabel('Index')
ylabel('diffT (Bounded)')
ylim([min(diffT(1:1000)) max(diffT(1:2000))])
diffT_out = filloutliers(diffT,'nearest'); % Detect & Fill The Outlier
[lo,hi] = bounds(diffT_out)
median_diffT_out = median(diffT_out)
mean_diffT_out = mean(diffT_out)
stdev_diffT_out = std(diffT_out)
figure
plot(diffT_out)
grid
xlabel('Index')
ylabel('diffT\_out')
figure
histfit(diffT_out, 100, 'lognormal')
grid
Your statement ‘All values in the vector are positive’ seems not to be the actual situation. There is one value that is equal to -43200, and that sort of spoils the party. You might want to see how that large negative value managed to get in your ‘diffT’ data.
When in doubt, plot the data!
EDIT — Corrected typographical errors.
.
2 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Time Series Events 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!