about angles between each column

Hi, I have a problem that let me determine the angles between each columns in a m*n matrix. I already know that how to calculate the angle between each column, but how can I store these values in a n*n matrix G where Gij is the angle between ith column and jth column? Here is my code:
function G=angle(a)
[m,n]=size(a);
G1=atand(norm(cross(a(:,1),a(:,1)),dot(a(:,1),a(:,1))));
end
Thank you!

回答 (1 件)

Stalin Samuel
Stalin Samuel 2016 年 3 月 11 日

0 投票

I am not sure about the formula. But you can refer the below code for store the values
[m,n]=size(a);
for it1 = 1:n
for it2 = 1:n
G1(it1,it2)=atand(norm(cross(a(:,it1),a(:,it2)),dot(a(:,it1),a(:,it2))));
end
end

2 件のコメント

Bo Wang
Bo Wang 2016 年 3 月 11 日
Thank you! It works perfect!
Roger Stafford
Roger Stafford 2016 年 3 月 11 日
That should be 'atan2d' in your code, not 'atand'. The function 'atand' takes only one argument.

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

カテゴリ

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

タグ

質問済み:

2016 年 3 月 11 日

コメント済み:

2016 年 3 月 11 日

Community Treasure Hunt

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

Start Hunting!

Translated by