How ı plot the piecewise function

1 view (last 30 days)
can evkuran
can evkuran on 19 Dec 2018
Commented: Star Strider on 19 Dec 2018
Hi my main problem is i have a function f(t)=A , t1<t<t2
f(t)=0 , otherwise
t1=2 t2=6 A=2 how can ı plot this function

Answers (2)

Star Strider
Star Strider on 19 Dec 2018
Try this:
A = 2;
f = @(t, t1, t2) A.*((t1 < t) & (t < t2)); % Use ‘Logical Indexing’
t = linspace(0, 10);
t1 = 2;
t2 = 6;
figure
plot(t, f(t, t1, t2))
grid
  4 Comments
madhan ravi
madhan ravi on 19 Dec 2018
This answer clearly works but you have defined some file as plot.m please change it or rename it
Star Strider
Star Strider on 19 Dec 2018
As a work-around (until you re-name your script), try this:
A = 2;
f = @(t, t1, t2) A.*((t1 < t) & (t < t2)); % Use ‘Logical Indexing’
t1 = 2;
t2 = 6;
figure
fplot(@(t) f(t, t1, t2), [0 10])
grid
That should run without error.

Sign in to comment.


madhan ravi
madhan ravi on 19 Dec 2018
Another possible approach:
A = 2;
t1=2;
t2=6;
syms t
f = piecewise(t>t1 & t<t2,A,0) ;
fplot(f,[0 10]) % 0 to 10 represent the domain of the function
  2 Comments
can evkuran
can evkuran on 19 Dec 2018
its saying piecewise is undefined or unexpected
madhan ravi
madhan ravi on 19 Dec 2018
type ver in command window , suspect you don't have symbolic math toolbox

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!