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?
回答 (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))
カテゴリ
ヘルプ センター および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
