|

楼主 |
发表于 2006-10-3 20:30
|
显示全部楼层
谢谢各位的帮助,估计bainhome 要做的事情和我类似,只是我要生成的这个矩阵可能比较大,如17X17,自己原先写了一个,感觉比你们推荐的要通用一点,但觉得太麻烦了,所以追求更简单的,不知道MATLAB 有没有一个函数就能搞定的?写出我的函数,请多指教,最好能帮我改进,提高效率,谢谢:
我的 程序中子矩阵大小为方阵,且大小为奇数,这点与bainhome 的一样,函数如下:
function r=submatrix(f,x,y,L)%f为原矩阵,x,y为取点坐标,L为子矩阵大小
[m,n]=size(f);
C=ceil(L/2);
R=floor(L/2);
xmin=max(x-R,1);
xmax=min(x+R,m);
ymin=max(y-R,1);
ymax=min(y+R,n);
r=zeros(L,L);
r(C-(x-xmin):C+(xmax-x),C-(y-ymin):C+(ymax-y))=f(xmin:xmax,ymin:ymax); |
评分
-
1
查看全部评分
-
|