creating matrix using output elements
2 次查看(过去 30 天)
显示 更早的评论
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]
0 个评论
采纳的回答
Fangjun Jiang
2023-1-19
B=[1:1:576]';
mean(reshape(B,24,[]))
3 个评论
Steven Lord
2023-1-20
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)
Now take the mean along the 2nd dimension.
D = mean(C, 2)
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
Fangjun Jiang
2023-1-20
@Steven Lord, good catch! mean(C,2) is more likely the needed outcome than mean(C).
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!