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?

 Réponse acceptée

Star Strider
Star Strider le 9 Nov 2015
Modifié(e) : Star Strider le 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 commentaires

David Chau
David Chau le 9 Nov 2015
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) )

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Simulation, Tuning, and Visualization dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by