creation of matrices based on output

1 view (last 30 days)
Hi, I have the program below which when run gives extracted matrices with corresponding means. My problem is to tell the program to ouput all the means inside onesinlge matrix. Can someone assist me with this kindly. My input for A and B were A=[1 1 1 1 2 2 2 2 3 3 3 3]'; B=[3 4 6 7 8 9 0 12 4 5 6 8]';
%when this code is run and you input A and B which were (A=[1 1 1 1 2 2 2 2 3 3 3 3]'; B=[3 4 6 7 8 9 0 12 4 5 6 8]';)
A=input('input sample matrix\n');
B=input('enter the second matrix\n');
C=[A B];
for i=1:1:3
selectedRowsLogicalIndices = A == i;
subsetBdata = B(selectedRowsLogicalIndices)
mean(subsetBdata)
end
Below are the reulst that i got;
subsetBdata =
3
4
6
7
ans =
5
subsetBdata =
8
9
0
12
ans =
7.2500
subsetBdata =
4
5
6
8
ans =
5.7500
>>
I want all the means to be in matrix form like below;
ouput I want is below;
[5 7.25 5.75]'
or a matrix of all the subdatasets
  4 Comments
okoth ochola
okoth ochola on 22 Jan 2023
@Rik thank you, this tip just gave me a clue and it worked just right. Thank you so much.

Sign in to comment.

Accepted Answer

Sargondjani
Sargondjani on 22 Jan 2023
D(i,1) = mean(subsetBdata)
  2 Comments
okoth ochola
okoth ochola on 22 Jan 2023
What if I wanted to do the same with the vectors, kindly give some clue @Sargondjani
Walter Roberson
Walter Roberson on 22 Jan 2023
output(i, :) = rowvector
output(:, i) = columnvector

Sign in to comment.

More Answers (0)

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!