multiplication between vectors

Hi everybody,
I have a problem with my program in matlab. I get an error about a multipication between vectors. I print the size of each vetor:
===========S(1:win_size, i)========= 256 1
==========x(offset(i):offset(i)+win_size-1)======== 1 256
========window======== 256
========x(offset(i):offset(i)+win_size-1) .* window====== ??? Error using ==> times Matrix dimensions must agree.
Error in ==> myspecgram at 107 S(1:win_size, i) = x(offset(i):offset(i)+win_size-1) .* window;
How can I fix this error?
Thanks, Ashraf

回答(2 个)

per isakson
per isakson 2012-6-10

0 个投票

".* " is element wise multiplication. Is that what you want? If so the vectors must have identical sizes or one must be a scalar.
Walter Roberson
Walter Roberson 2012-6-11

0 个投票

If x is a row vector and window is a column vector then you cannot use .* to multiply the two together.
Consider making x a column vector to be the same as your other variables.

类别

帮助中心File Exchange 中查找有关 Operators and Elementary Operations 的更多信息

提问:

2012-6-10

Community Treasure Hunt

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

Start Hunting!

Translated by