Matrix dimensions must agree for computing spherical harmonics !!!!

1 view (last 30 days)
Hi i am trying to calculate the spherical harmonic but I get an error saying that the matrices dimensions must agree, here is the code, any suggesions are very welcomed!
L=4;
theta =linspace(0,pi,5); %theta ranges from 0 to pi
phi =linspace(0, 2*pi,5); %phi ranges from 0 to 2*pi
for m=-L:L
cst = sqrt((2*L+1)*factorial(L-m)/((4*pi)*factorial(L+m))); %constant of spherical harmonics
P = legendre(L,cos(theta));
Y = cst.*P.*exp(-1j.*m.*phi);
end
  2 Comments
Rahul Kalampattel
Rahul Kalampattel on 9 Mar 2017
I'm not getting any errors when I run your code in Matlab (R2016b). Which line were you having trouble with?
KSSV
KSSV on 10 Mar 2017
cst.*P.*exp(-1j.*m.*phi) In this P is 5x5 matrix, exp(-1j*m*phi) is 1x5..you expect output to be a matrix or array?

Sign in to comment.

Answers (1)

Ano
Ano on 10 Mar 2017
the output should be a matrix I have solve it by using the transpose of P now it works! Thank you!!

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!