Hello all, kindly, I have question , how can I get the piecewise function of this blood flow rate shown below using Matlab

Hello all, kindly, I have question , how can I get the piecewise function of this blood flow rate shown below using Matlab

 Akzeptierte Antwort

T = 0.56;
A = 220;
fun = @(x)A*sin(2*pi*x/T).*(x>=0 & x<=T/2) + 0*(x>T/2 & x <=0.7);
F = @(x)fun(mod(x,0.7));
x = linspace(0,3,1001);
plot(x,F(x))

Weitere Antworten (1)

Constructing a piecewise function can be a tedious process, as this sinusoidal signal requires defining numerous intervals and corresponding function segments. However, there is a mathematical technique that can be employed to simplify the representation of a clipped sinusoidal signal without the need for a piecewise approach.
This method, which is commonly taught in mathematics courses but may not be as extensively covered in many engineering curricula (with the exception of certain electrical engineering topics, such as the analysis of half-wave rectifier diode circuits), allows for "clipping" the bottom portion of the sinusoidal waveform.
t = linspace(0, 3, 3001);
A = 200; % amplitude
T = 0.7; % period
y = max(0, A*sin(2*pi/0.7*t));
plot(t, y), grid on, ylim([-50 250])

1 Kommentar

Hello Sam,
thank you for help,
The period should be differnt: the period for sin wave is (0.28 s) while the period for getting zero is (0.42)

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by