How ı plot the piecewise function
Show older comments
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
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
can evkuran
on 19 Dec 2018
Star Strider
on 19 Dec 2018
You have apparently written your own script file and saved it as ‘plot.m’.
Re-name it to ‘myPlot.m’, or to something that does not overshadow plot, or any other MATLAB functions.
Then my code should run without error.
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
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.
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
on 19 Dec 2018
madhan ravi
on 19 Dec 2018
type ver in command window , suspect you don't have symbolic math toolbox
Categories
Find more on Spline Postprocessing 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!