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

7 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???
  2 Comments
Stephen23
Stephen23 on 8 Oct 2021
Edited: Stephen23 on 8 Oct 2021
The functions COS and SIN require an input argument, so many of your function calls are invalid:
cos^2(..) % invalid sytanx (COS has no input)
cos(..)^2 % valid syntax
I suspect that you actually want POWER .^ and not MPOWER ^

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.

More Answers (1)

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

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!