incorrect dimensions for matrix multiplication in piecewise function in matlab

This is what I am trying to implement in Matlab:
where vi = sin(2*pi*1000*t) and VD = 0.72
These are my commands:
>>t = 1:1000
>>t/1000
>>vi = sin(2*pi*1000*t)
>>vo = piecewise(vi<0.72, 0, vi>0.72, (vi-0.72)*exp(-t))
However, I get this error:
Error using * Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
I have no idea what I am doing wrong, any help?

Réponses (1)

tau = 1.0;
V_D = 0.72;
vi = @(t) sin(2*pi*t);
f = @(t) max(vi(t)-V_D,0).*exp(-t/tau);
t = 0:0.01:2*pi;
plot(t,f(t))

Catégories

Produits

Version

R2021b

Question posée :

le 22 Mar 2023

Modifié(e) :

le 22 Mar 2023

Community Treasure Hunt

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

Start Hunting!

Translated by