Why am I getting: "invalid syntax at "(" .A might be missing a closing ")"

31 views (last 30 days)
What is messing here??
source = ((-4*A^2*alpha)-(9*B^2*alpha))*(cos^2( (2*A) * XX).* sin^2( (3*B) * YY))...
-( (5/2)*4*A^2*alpha+(5/2)*9*B^2*alpha)*(cos( (2*A) * XX).* sin( (3*B) * YY))...
+ ((4*A^2*alpha)*(sin^2((2*A) * XX).* sin^2( (3*B) * YY)))...
+ ((9*B^2*alpha)*(cos^2((2*A) * XX).* cos^2( (3*B) * YY))));
Error at first line where the cosine squared is
(cos^2( .. %underneath the paranthesis infront of cos^2
I don't understand???

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 8 Oct 2021
In MATLAB, cos^2(x) and sin^2(x) are not valid operations. These will be interpreted as cos()^2(x) and sin()^2(x) which would involve invoking cos or sin with no parameters, and trying to raise the result to an expression that as 2 followed by an expression in () ... which would be intepreted as an invalid indexing operation since constants such as 2 cannot be indexed.
You need to instead code cos(x)^2 and sin(x)^2 .
... You should probably vectorize along the way.
  1 Comment
Jamie Al
Jamie Al on 8 Oct 2021
Is this correct here:
cos((2*A) * XX).^2 .*..
I mean the place of the dot operator?

Sign in to comment.

More Answers (1)

KSSV on 8 Oct 2021
You are missing an operator, multiplication operator at many places.
(cos^2*( .. %underneath


Community Treasure Hunt

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

Start Hunting!