what does this line of code means bwZ = [zeros(1,c+1);[zeros(r,1) bw]]; ??
조회 수: 3 (최근 30일)
이전 댓글 표시
bw=imread('connected.pgm')./255;
%bw=[0 1 0 0 1 1;
% 1 1 1 0 0 0;
% 0 0 1 0 0 1;
% 1 1 0 0 1 1;
% 0 0 0 1 0 0;];
[r,c] = size(bw);
bwZ = [zeros(1,c+1);[zeros(r,1) bw]];
i dont understand this line of code :
bwZ = [zeros(1,c+1);[zeros(r,1) bw]];
댓글 수: 0
답변 (1개)
Walter Roberson
2013년 4월 2일
The line adds a row of zeros along the top, and a column of zeros along the side, of bw.
Another way of expressing it would have been:
bwZ = zeros(r+1, c+1, class(bw));
bwZ(2:end, 2:end) = bw;
댓글 수: 3
Walter Roberson
2013년 4월 3일
It can make the search algorithm easier to write.
For example, if the task were to find the beginning of each "pulse" in a vector of 0 and 1 values, then one way to do that is to search for places in which you have 0 (non-pulse) followed by 1 (pulse). But that search algorithm would fail if the first item in the vector was a 1, as there is no 0 before it. A solution to that is to put a 0 before the vector and then you would not need special code to handle the situation.
참고 항목
카테고리
Help Center 및 File Exchange에서 Dynamic System Models에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!