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'.
댓글 수: 0
채택된 답변
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.
댓글 수: 0
추가 답변 (1개)
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
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!