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

조회 수: 17 (최근 30일)
Jamie Al
Jamie Al 2021년 10월 8일
댓글: Jamie Al 2021년 10월 8일
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
Stephen23
Stephen23 2021년 10월 8일
편집: Stephen23 2021년 10월 8일
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 ^

댓글을 달려면 로그인하십시오.

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

KSSV
KSSV 2021년 10월 8일
You are missing an operator, multiplication operator at many places.
(cos^2*( .. %underneath

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by