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 Kommentar

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);

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Steven Lord
Steven Lord am 20 Jan. 2021

0 Stimmen

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 Kommentare

Tobenna Uzuegbunam
Tobenna Uzuegbunam am 20 Jan. 2021
Hi Steven,
Thanks for this, but, I now get the error message "check for missing argument or incorrect argument data type in call to function 'sqrt"
Steven Lord
Steven Lord am 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);
Tobenna Uzuegbunam
Tobenna Uzuegbunam am 20 Jan. 2021
Thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by