24小时热门版块排行榜    

查看: 280  |  回复: 3
当前主题已经存档。

quartzbj

金虫 (正式写手)

[交流] 【讨论】矩阵部分数赋值问题?

一个矩阵A:
4   5     16     17   18   9  
2   20   30    40   9     0
3   20    8      6    7     0
31  40  18    8    19    6
1    83    2      6   7    18



希望把矩阵A大于10的数先挑出来赋值为1,其它为0,

第二步, 但是如果同一行连续有两个1, 就把原来矩阵A中相应数比较小的再赋值为0,不连续的点保持不变。

第三步,如果某个1周围8个点都为0,把原来矩阵A中对应数比较大的再赋值为1.

老是循环使用不好,怎么办?

[ Last edited by quartzbj on 2009-11-18 at 08:54 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjliu1265

至尊木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
kuhailangyu(金币+2,VIP+0):谢谢参与 11-18 11:11
第一步不用循环容易实现,但是后面两步不用循环比较麻烦。
其实循环也不是不好,我个人认为写程序首要的是写出来准确
的程序,其次才是去优化程序。

顺便问一下,你的问题是和元胞自动机相关么?

我写了一段程序如下,仅供参考:

A=[4,5,16,17,18,9;...
        2,20,30,40,9,0;...
        3,20,8,6,7,0;...
        31,40,18,8,19,6;...
        1,83,2,6,7,18];

% step 1
Ao=A;
A(A<=10)=0;
A(A>10)=1;
A
% step 2
[x,y]=find([A(1:end-1,+A(2:end,]>1.5);
Ix1=sub2ind(size(A),x,y);
Ix2=sub2ind(size(A),x,y+1);
Ix1,Ix2
[xx,Ix]=min([Ao(Ix1),Ao(Ix2)],[],1);
Ao(Ix1(Ix<1.5))=0;
Ao(Ix2(Ix>1.5))=0;

% step 3
S=A(1:end-2,2:end-1)+A(3:end,2:end-1)+...
    A(2:end-1,1:end-2)+A(2:end-1,3:end)+...
    A(1:end-2,1:end-2)+A(3:end,1:end-2)+...
    A(1:end-2,3:end)+A(3:end,3:end);
[x,y]=find(S<0.5);
dx=[-1,0,1,-1,1,-1,0,1];
dy=[-1,-1,-1,0,0,1,1,1];
for k=1:length(x);
    xn=x(k)+dx;
    yn=y(k)+dy;
    Ix=sub2ind(size(Ao),xn,yn);
    [xx,Ik]=max(Ao(Ix));
    Ao(Ix(Ik))=1;
end

[ Last edited by zjliu1265 on 2009-11-18 at 11:04 ]
2楼2009-11-18 11:02:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

quartzbj

金虫 (正式写手)

谢谢,想做边界检测
3楼2009-11-18 18:46:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+2,VIP+0):谢谢专家 11-19 01:00
引用回帖:
Originally posted by quartzbj at 2009-11-18 18:46:
谢谢,想做边界检测

第二步只针对行吗?碰到3个4个连续的怎么办?第三步只针对矩阵内部的格点吗?对于矩阵边界上的格点,周围只有3个或5个的怎么办?老是循环是什么意思?
4楼2009-11-18 21:06:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 quartzbj 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +5 G6APbkg8SA6w 2026-08-29 6/300 2026-08-30 19:02 by hZiFeudZyoGR
[考研] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 G6APbkg8SA6w 2026-08-29 5/250 2026-08-30 18:40 by hZiFeudZyoGR
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 gy1nBQXYQJqL 2026-08-29 6/300 2026-08-30 18:17 by hZiFeudZyoGR
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 gy1nBQXYQJqL 2026-08-29 6/300 2026-08-30 17:47 by hZiFeudZyoGR
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +6 ASdOkHsho7FD 2026-08-28 7/350 2026-08-30 17:14 by hZiFeudZyoGR
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +8 ASdOkHsho7FD 2026-08-28 12/600 2026-08-30 17:11 by hZiFeudZyoGR
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +7 ASdOkHsho7FD 2026-08-28 14/700 2026-08-30 17:01 by hZiFeudZyoGR
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 gy1nBQXYQJqL 2026-08-29 7/350 2026-08-30 11:51 by l0VvVHGBGRLv
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ASdOkHsho7FD 2026-08-28 6/300 2026-08-30 11:10 by l0VvVHGBGRLv
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 gy1nBQXYQJqL 2026-08-29 4/200 2026-08-30 06:57 by ZPa0EcMwuECS
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 ASdOkHsho7FD 2026-08-28 8/400 2026-08-30 05:48 by ZPa0EcMwuECS
[基金申请] 中青基了要发朋友圈吗? +4 349506619 2026-08-28 4/200 2026-08-29 22:41 by alongwaytogo
[基金申请] 国社科申报系统有变化 +3 kynobel 2026-08-23 3/150 2026-08-29 21:57 by 余韵清
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +9 苏东坡二世 2026-08-23 9/450 2026-08-29 14:41 by hustersqt
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +12 Kittylucky 2026-08-27 13/650 2026-08-29 00:04 by superceng
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
信息提示
请填处理意见