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!

Answers (1)

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 Comments

Thank you! It works perfect!
That should be 'atan2d' in your code, not 'atand'. The function 'atand' takes only one argument.

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Asked:

on 11 Mar 2016

Commented:

on 11 Mar 2016

Community Treasure Hunt

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

Start Hunting!