multiplication between vectors

1 次查看(过去 30 天)
Ashraf
Ashraf 2012-6-10
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
".* " 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
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.

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by