フィルターのクリア

Create a matrix of average Values from a Vector

3 ビュー (過去 30 日間)
Johanna Popp
Johanna Popp 2022 年 1 月 2 日
編集済み: Image Analyst 2022 年 1 月 2 日
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 件のコメント
Torsten
Torsten 2022 年 1 月 2 日
編集済み: Torsten 2022 年 1 月 2 日
Yes.
Or simply
matrix = 0.5*(vector+vector.')

サインインしてコメントする。

回答 (1 件)

KSSV
KSSV 2022 年 1 月 2 日
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) ;

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by