Average distance from the origin

matrix=load('Data');
x = matrix(:,1);
y = matrix(:,2);
distances = sqrt((x-0).^2 + (y-0).^2)
sum(distances)./(size(matrix))
Hey, so I just wanted to make sure I'm doing this correctly. What I'm trying to do is find the average distance between points in a matrix and the origin. I got an answer I'm not quite sure about being correct, so I wanted to be safe.

 採用された回答

Star Strider
Star Strider 2015 年 5 月 4 日

1 投票

You seem to be doing it correctly, but if you can use the built-in functions, I would use hypot and mean:
distances = hypot(x,y);
avg_dist = mean(distances);

2 件のコメント

TS
TS 2015 年 5 月 4 日
Oh! Thank you! I completely forgot that there were built in functions for this!
Star Strider
Star Strider 2015 年 5 月 4 日
My pleasure!

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

その他の回答 (1 件)

Chad Greene
Chad Greene 2015 年 5 月 4 日

1 投票

Looks right, but you could write it more simply:
matrix=load('Data');
x = matrix(:,1);
y = matrix(:,2);
distances = hypot(x,y);
mean(distances)

カテゴリ

ヘルプ センター および File ExchangeMathematics についてさらに検索

質問済み:

TS
2015 年 5 月 4 日

コメント済み:

2015 年 5 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by