Error: subscripted assignment dimension mismatch during convolution.

3 次查看(过去 30 天)
I am writing a code for convolution of rows of a 256x256 matrix with a column vector consisting entirely of ones. But I am getting the error "subscripted assignment dimension mismatch" every time i run the code. Any suggestions ?
for k=1:255
for l=1:k
m(:,l) =conv((hkl(l,:))',ones(l,1));
end
end
'hkl' is the 256x256 matrix. I want convolve each row of hkl with a column vector of 1s whose length is equal to 'l' and store it in 'm'.

采纳的回答

Image Analyst
Image Analyst 2014-4-27
Not sure where you came up with that strange process. To convolve a 2D array with a column vector of l elements (which is an absolutely horrible variable name by the way), simply do this:
m = conv2(double(hkl), ones(l, 1), 'same');
In ones(), the first element is lower case L and the second argument is "one" in case you can't tell (which is why l is a terrible name). Be aware that if the sum of the l values exceeds 255, you can't get a uint8 image, which is perhaps what you were starting with, without clipping.

更多回答(1 个)

aichouche farouk
aichouche farouk 2017-11-27
for k=1:(i-1) if rem(k*dt,0.5)== 0 count =count+1; table(count,:)=[time(k) QX(k) FMA(k) FMR(k) SND(k) SNH(k) SNO (k) SS (k) XBA(k) XBH(k) XI (k) XND(k) XP(k) XS(k)]; end end

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by