Invalid use of operator.

3 views (last 30 days)
Tobenna Uzuegbunam
Tobenna Uzuegbunam on 20 Jan 2021
I'm try to perfom the simple equation:
i.e. the square root of the integral of the square of the signal (averaged av(t)).
But I keep getting the error message "Invalid use of operator.". Please help, I'm very new to MATLAB
Where av(t) = -8.1284e-05
t_full = 1.2726e+04
av(t) = -8.1284e-05
T = 1.2726e+04
int = sqrt(@(t).* (av(t))^2);
MSDV = quadgk(int,0,t_full);
  1 Comment
Tobenna Uzuegbunam
Tobenna Uzuegbunam on 20 Jan 2021
Just a correction on the code used...
av(t) = -8.1284e-05
T = 1.2726e+04
int = sqrt(@(t).* (av(t))^2);
MSDV = quadgk(int,0,T);

Sign in to comment.

Accepted Answer

Steven Lord
Steven Lord on 20 Jan 2021
int = sqrt(@(t).* (av(t))^2);
That is not valid. You're not multiplying the square of av(t) by anything.
int = sqrt(@(t) (av(t))^2);
  3 Comments
Steven Lord
Steven Lord on 20 Jan 2021
My mistake, I only focused on the operator. The square root operator needs to be inside the anonymous function.
int = @(t) sqrt(av(t)^2);
And you probably want to vectorize your function.
int = @(t) sqrt(av(t).^2);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!