Take average of multiple matrices
3 次查看(过去 30 天)
显示 更早的评论
Hello,
I have a variable that contains 5 matrices (6*5) inside it. I want to take the average of these matrices and store it in a 6*5 matrix. I would greatly appreciate it if you could help me with that. I will attach the variable to this post.
Thanks,
Amir
0 个评论
采纳的回答
William Rose
2021-4-8
Here is a solution:
>> D=open('data.mat');
>> phi=D.phi_BFD_v_sum;
>> phiAvg=zeros(6,5);
>> for i=1:5, phiAvg=phiAvg+phi{i}/5; end
>> disp(phiAvg)
0 0 0 0 0
0.2284 0.6080 0.8000 0.7058 0.4388
0.4377 0.8000 0.2495 -0.5222 -0.7138
0.6112 0.4325 -0.7374 -0.2847 0.7672
0.7355 -0.2412 -0.4568 0.7297 -0.5588
0.8000 -0.7481 0.6222 -0.3616 0.2122
>>
2 个评论
更多回答(2 个)
per isakson
2021-4-8
Try this
%%
load('data.mat')
num = cat( 3, phi_BFD_v_sum{:} );
avg = mean( num, 3 );
peek
>> avg
avg =
0 0 0 0 0
0.22843 0.60803 0.8 0.70577 0.43885
0.43769 0.8 0.2495 -0.52216 -0.71376
0.61117 0.4325 -0.73741 -0.28474 0.76717
0.7355 -0.24119 -0.45683 0.72973 -0.55882
0.8 -0.74809 0.6222 -0.36164 0.21224
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!