Create a matrix of average Values from a Vector
Show older comments
Hi all,
It would be great if you could help me solve this problem!
I have a vector of 5 numbers [2 4 8 9 12] and want to create a matrix with the size 5*5 containing the average of each of the respective pairs of numbers in the corresponding field of the matrix. In this case it would be
[2 3 5 5.5 7;
3 4 6 6.5 8;
5 6 8 8.5 10;
5.5 6.5 8.5 9 10.5;
7 8 10 10.5]
How could I implement this with code? Would this be the right implementation?
vector = [2 4 8 9 12];
for i = 1:5
for j = 1:5
matrix(i,j) = (vector(i) + vector(j))/2;
end
end
matrix
Thanks!
Johanna
1 Comment
Yes.
Or simply
matrix = 0.5*(vector+vector.')
Answers (1)
KSSV
on 2 Jan 2022
The same implementation without loop:
matrix = (vector+vector')/2 ;
When you have used a loop, you need to initilaizethe matrix into zeros.
matrix = zeros(5) ;
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!