Borrar filtros
Borrar filtros

Create a matrix of average Values from a Vector

3 visualizaciones (últimos 30 días)
Johanna Popp
Johanna Popp el 2 de En. de 2022
Editada: Image Analyst el 2 de En. de 2022
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
matrix = 5×5
2.0000 3.0000 5.0000 5.5000 7.0000 3.0000 4.0000 6.0000 6.5000 8.0000 5.0000 6.0000 8.0000 8.5000 10.0000 5.5000 6.5000 8.5000 9.0000 10.5000 7.0000 8.0000 10.0000 10.5000 12.0000
Thanks!
Johanna
  1 comentario
Torsten
Torsten el 2 de En. de 2022
Editada: Torsten el 2 de En. de 2022
Yes.
Or simply
matrix = 0.5*(vector+vector.')

Iniciar sesión para comentar.

Respuestas (1)

KSSV
KSSV el 2 de En. de 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) ;

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by