Can't plot this function

I'm trying to plot this:
t=linspace(0,50,50);
plot(t,5*heaviside(t - 7/10)*((9*exp(7/45 - (2.*t)./9))...
./11 - (20.*exp(7/100 - t./10))./11 + 1))
The error is Error using * Inner matrix dimensions must agree.
Where am I missing my dots?

 Accepted Answer

Star Strider
Star Strider on 9 Nov 2015
Edited: Star Strider on 9 Nov 2015

0 votes

You need to do element-wise operations, specifically replacing ‘*’ with ‘.*’, ‘/’ with ‘./’, etc. everywhere in an expression involving vectors of the same length.

2 Comments

Does it have to be everywhere or just where the variable matrix appears?
You do not need it in the case where you have a scalar constant multiplied by something, or in the case where you are dividing something by a scalar constant, or in any sub-expression that involves strictly scalar constants, such as 7/45 .
plot(t, 5*heaviside(t - 7/10) .* ((9*exp(7/45 - (2*t)/9))/11 - (20*exp(7/100 - t/10))/11 + 1) )

Sign in to comment.

More Answers (0)

Categories

Find more on Simulation, Tuning, and Visualization in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!