声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: ll710915

[编程技巧] 求子矩阵的问题

[复制链接]
 楼主| 发表于 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

查看全部评分

回复 支持 反对
分享到:

使用道具 举报

发表于 2006-10-3 20:48 | 显示全部楼层
估计bainhome 要做的事情和我类似

不是我做的事情,恰恰就是你的事情,我整理转载而已,hoho...
不知道MATLAB 有没有一个函数就能搞定的?

应当没有
自己原先写了一个,感觉比你们推荐的要通用一点,但觉得太麻烦了,所以追求更简单的

其实思路一模一样,无所谓谁繁谁简,充零是最好的方式,省去了判断,我转载的原因一方面是想在simwe引起讨论热闹一下,一方面是家里有事情,没有整块时间编这个程序。
只是我要生成的这个矩阵可能比较大,如17X17

17×17貌似不是很大...^_^

[ 本帖最后由 bainhome 于 2006-10-3 20:50 编辑 ]
 楼主| 发表于 2006-10-3 20:58 | 显示全部楼层
谢谢!^_^
发表于 2006-10-3 21:15 | 显示全部楼层
:@(
下次回贴的时候一定要多看看前面的了..
:@L

[ 本帖最后由 Tla 于 2006-10-3 21:26 编辑 ]
发表于 2006-10-3 23:11 | 显示全部楼层
原帖由 Tla 于 2006-10-3 21:15 发表
:@(
下次回贴的时候一定要多看看前面的了..
:@L

不会吧!原创者这么快就来了^_^
其实你写得非常好,不用看前面...先说声抱歉,并无意乱串帖子,只是当版主总要出点儿力,呵呵...:lol
以前看过你和cwit的一些对话,我跟他比较熟,也了解他,你的基础相当不错,不用听他在那里胡搅合:lol:lol

[ 本帖最后由 bainhome 于 2006-10-3 23:13 编辑 ]
发表于 2006-10-4 10:42 | 显示全部楼层
:lol:lol
昨天找一本书,偶然就窜到这儿来了,才第一回来呢,
能得到bainhome老大的夸奖,真的是有一种飞上天的感觉了,。:@D:@D
我也顶多算个门外汉,以后有好多问题还得要老大们多多指教才行呢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 07:22 , Processed in 0.075433 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表