How is a signal multiplied with the window functions?
Matlab window functions such as hamming(N) returns the $N$ point Hamming window sequence $w[n]$ in a $N \times 1$ matrix (a column vector). 

Therefore if your sequence $x[n]$ is represented in a row vector of size $1 \times N$ then for obtaining the sample-by-sample product $x[n]w[n]$, you should either transpose $w[n]$ or the other $x[n]$, so that their dimensions permit the correct sample-by-sample multiplication in between and produce the output sequence $v[n]=w[n]x[n]$ represented in a matrix of the size $N \times 1$ or $1 \times N$ depending on which one you have transposed. 

v0 = x.*w      % x: Nx1, w: Nx1, v0: Nx1
v1 = x .* w'   % x: 1xN, w: Nx1, transpose w =&gt; v1: 1xN
v3 = x' .* w   % x: 1xN, w: Nx1, transpose x =&gt; v3: Nx1


Note that if the transposed signal is complex valued, then you should use the conjugate transpose instead : 

v1 = conj(x').* w  % x[n] was complex valued...


Note also that the sample by sample product is perfomed by the $.*$ operation under Matlab;

  v = x .* w    % is a sample by sample product implementing v[n] = x[n]w[n]


If you omit the period and use the $*$ alone, you get matrix product or the dot product in case of vectors involved.

For this case when you have two vectors, $x$ of size $N \times 1$ and $w$ of size $1 \times N$, then their matrix product would produce a matrix of size $N \times N$

v = x * w    % x: N x 1, w: 1 x N =&gt; v: N x N