关于matlab中robot梯度算法的问题,高分,急,在线等!200

来源:百度知道 编辑:UC知道 时间:2024/06/02 15:10:32
两个for语句中的m-1,n-1是什么,不是应该从m,n开始的吗?为什么是从减1开始?详细易懂一点,好的再加100分!
x=imread('02.bmp');
[m,n]=size(x);
figure,imshow(x);
x=double(x);
b=zeros(m,n);
for i=1:m-1
for j=1:n-1
b(i+1,j+1)=abs(x(i+1,j+1)-x(i,j))+abs(x(i+1,j)-x(i,j+1))+100;
end
end
figure,imshow(uint8(b))

我不知道你这个算法是做什么的.

不过你看一下x的大小是m行n列.

你的循环中用到
b(i+1,j+1)=abs(x(i+1,j+1)-x(i,j))+abs(x(i+1,j)-x(i,j+1))+100;
观察其中有x(i+1,j+1)
所以这里的i,j的最大值分别取到m-1,n-1否则超出x的范围

但是计算出来的b中,第一行和第一列的元素是初始化(zeros(m,n))的时候给的值0