Clear Filters
Clear Filters

Error using sin in my code

4 views (last 30 days)
Lan
Lan on 19 Sep 2023
Commented: Lan on 19 Sep 2023
I keep getting error using sin and Not enough input arguments. I'm not sure what I did wrong here
x = z + (1/s).*sin.*(s*r0*t);

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 19 Sep 2023
sin is not a variable that you are multiplying with s*r0*t, it is a function which needs input arguements to provide an output.
So, remove the element-wise multiplication sign in between sin and the parenthesis, and it should work (Assuming variables have compatible sizes for the operations performed)
%Corrected
x = z + (1/s).*sin(s*r0*t);
  1 Comment
Lan
Lan on 19 Sep 2023
Thank you both so much. It worked!

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 19 Sep 2023
The .* operator is element-by-element multiplication. Your code is asking to evaluate the token sin and multiply the result by (s*r0*t) . But sin as a token is a request to evaluate the sin function with no parameters, which is a problem because sin() needs to be passed one parameter.
If you want to take the sine of something, you need sin(EXPRESSION) such as sin(s*r0*t)

Community Treasure Hunt

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

Start Hunting!