I am trying to do
t=0:0.001:10;
plot(0.25*exp(-t)*sin(2*t),t)
and it says:
??? Error using ==> mtimes
Inner matrix dimensions must agree.
When I tried to divide by exp(t) instead it gave me crap. any ideas? thanks

 Réponse acceptée

Sean de Wolski
Sean de Wolski le 17 Juin 2011

0 votes

t=0:0.001:10;
plot(0.25*exp(-t).*sin(2*t),t)
You want an element by element multiplication so you need the '.' in front of the '*'

1 commentaire

Arnaud Miege
Arnaud Miege le 17 Juin 2011
You typed quicker than me :-)

Connectez-vous pour commenter.

Plus de réponses (4)

Arnaud Miege
Arnaud Miege le 17 Juin 2011

0 votes

You need to use element-wise operating rather matrix opertaions. Read about Arithmetic Operators in the MATLAB documentation.
HTH,
Arnaud
Daniel Shub
Daniel Shub le 17 Juin 2011

0 votes

size(exp(-t))
size(sin(2*t))
You are trying to multiple a 1x1001 matrix with a 1x1001 matrix. The inner dimension (1001 and 1) do not match. Try .*
plot(0.25*exp(-t).*sin(2*t),t)
Anthony Smith
Anthony Smith le 17 Juin 2011

0 votes

Matlab is always thinking in terms of matrices. Therefore you would want to use element-by-element multiplication (.* instead of *) to generate your simple function in this case.
Try:
t=0:0.001:10; plot(t,0.25*exp(-t).*sin(2*t))
hagai bar
hagai bar le 17 Juin 2011

0 votes

thanks everyone

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by