Hello Community,
i try to calculate the root mean square of a piecwise function.
I had different approaches, but all them don't work.
1. Approach
syms t
y = piecewise(0<=t<=2,-sin(2*pi/8*t));
rms = rms(y);
Error Message: Error using sym/subsindex (line 953)
Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be symbolic variables, and function body must be sym expression.
2. Approach
syms t
y = piecewise(0<=t<=2,-sin(2*pi/8*t));
t = 0:0.001:2;
z = subs(y);
m = double(z);
rms = rms(m);
Error Message: Array indices must be positive integers or logical values.
I don't know any other approach.
I hope, I expressed my problem appropriatly.
Thanks for your help!
Smitty

 採用された回答

Sam Chak
Sam Chak 2022 年 7 月 15 日

1 投票

Can you check if this is the expected RMS value over the interval ?
t = linspace(0, 2, 2001);
y = - sin(2*pi/8*t);
v = rms(y)
v = 0.7071
plot(t, y)

2 件のコメント

Smitty
Smitty 2022 年 7 月 15 日
Yes, that is the expected RMS. My problem is to get it for Functions, that I define with "Piecewise" so that I can combine Rectangle und Sinus Signals.
Smitty
Smitty 2022 年 7 月 15 日
編集済み: Smitty 2022 年 7 月 15 日
It just came to my mind, that i can just implement the RMS by myself.
syms t
y = piecewise(0<=t<=2,sin(2*pi/8*t));
T = 2;
RMS = sqrt(1/T*int(y^2,0,T));
That works fine.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2021b

タグ

質問済み:

2022 年 7 月 15 日

編集済み:

2022 年 7 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by