- 积分
- 0
- 注册时间
- 2009-9-19
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2010-12-10 18:31:08
|
显示全部楼层
来自 德国
回复Walker,由于那个长度是未知的,所以求不出来的。
谢谢祁版主,程序还在写的过程中,其中一步就是生成这个行数不定的5列(不是3列)矩阵h,我试着举个简单的例子,还没有调试过的大致思路如下:
两个excel矩阵a和b,都是n*n的,元素是一些正负数,
for i1=1:n
for j1=1:n
for i2=1:n
for j2=1:n
hangmax=n-abs(i1-i2);
liemax=n-abs(j1-j2);
if (i1-i2+1)<=0
i3=1;
else
i3=i1-i2+1;
end
if (i2-i1+1)<=0
i4=1;
else
i4=i2-i1+1;
end
if (j1-j2+1)<=0
j3=1;
else
j3=j1-j2+1;
end
if (j2-j1+1)<=0
j4=1;
else
j4=j2-j1+1;
end
i5=i3+hangmax-1;
i6=i4+hangmax-1;
j5=j3+liemax-1;
j6=j4+liemax-1;
w=b(i4:i6,j4:j6)-a(i3:i5,j3:j5);%生成一个新矩阵
if any(w(:)+abs(b(i2,j2)+a(i1,j1))>=0)
h(,1)=i1; %出现那个行数不定的5列矩阵h
h(,2)=j1;
h(,3)=i2;
h(,4)=j2;
h(,5)=abs(b(i21,j2)+a(i1,j1));
end
end
end
end
end
然后find到min的h(,5),之后再返回对应的i1i2i3i4i5i6j1j2j3j4j5j6。
请诸位大侠帮忙看看,急!拜谢了 |
|