creating matrix using output elements

1 vue (au cours des 30 derniers jours)
okoth ochola
okoth ochola le 19 Jan 2023
Commenté : Fangjun Jiang le 20 Jan 2023
Hi, i havecode below which ouputs given values independently. however, i want the ouputs to be under one matrix,what can i add to the code to do this job. B is an n by 1 matrix say B=[1:1:24]'. How can I collect all the values of Hourly_mean to form one matrix? kindly assist. Thank you
B=[1:1:576]'
for k=1:1:numel(B)
Hourly_mean=mean(B(k:24:end))
end
[Hourly_mean]

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 19 Jan 2023
B=[1:1:576]';
mean(reshape(B,24,[]))
ans = 1×24
12.5000 36.5000 60.5000 84.5000 108.5000 132.5000 156.5000 180.5000 204.5000 228.5000 252.5000 276.5000 300.5000 324.5000 348.5000 372.5000 396.5000 420.5000 444.5000 468.5000 492.5000 516.5000 540.5000 564.5000
  3 commentaires
Steven Lord
Steven Lord le 20 Jan 2023
Let's take a smaller example that demonstrates the technique. Say I want to take the mean of every 6th element of B. We can reshape B into a matrix.
B = 1:24;
C = reshape(B, 6, 4)
C = 6×4
1 7 13 19 2 8 14 20 3 9 15 21 4 10 16 22 5 11 17 23 6 12 18 24
Now take the mean along the 2nd dimension.
D = mean(C, 2)
D = 6×1
10 11 12 13 14 15
Spot check that D is correct by manually computing the mean of the 3rd, 9th, 15th, and 21st element of B. Does that match D(3)?
sum(B(3:6:24))./4
ans = 12
Fangjun Jiang
Fangjun Jiang le 20 Jan 2023
@Steven Lord, good catch! mean(C,2) is more likely the needed outcome than mean(C).

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 20 Jan 2023

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Produits


Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by