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

23 Ansichten (letzte 30 Tage)
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 Kommentare
Stephen23
Stephen23 am 8 Okt. 2021
Bearbeitet: Stephen23 am 8 Okt. 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 ^

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 8 Okt. 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 Kommentar
Jamie Al
Jamie Al am 8 Okt. 2021
Is this correct here:
cos((2*A) * XX).^2 .*..
I mean the place of the dot operator?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by