24小时热门版块排行榜    

查看: 283  |  回复: 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一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 jCd0dEvKHShX 2026-08-29 4/200 2026-08-31 02:34 by hZiFeudZyoGR
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 jCd0dEvKHShX 2026-08-29 5/250 2026-08-31 02:13 by hZiFeudZyoGR
[考研] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 G6APbkg8SA6w 2026-08-29 6/300 2026-08-31 01:48 by hZiFeudZyoGR
[考研] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 gy1nBQXYQJqL 2026-08-29 5/250 2026-08-31 01:38 by hZiFeudZyoGR
[论文投稿] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 gy1nBQXYQJqL 2026-08-29 6/300 2026-08-31 01:37 by hZiFeudZyoGR
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +7 ASdOkHsho7FD 2026-08-28 12/600 2026-08-31 00:34 by hZiFeudZyoGR
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +7 ASdOkHsho7FD 2026-08-28 12/600 2026-08-31 00:31 by hZiFeudZyoGR
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +7 ASdOkHsho7FD 2026-08-28 15/750 2026-08-31 00:10 by hZiFeudZyoGR
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[公派出国] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 4FFAWE8HcgUD 2026-08-29 4/200 2026-08-30 20:21 by hZiFeudZyoGR
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 4FFAWE8HcgUD 2026-08-29 3/150 2026-08-30 20:19 by hZiFeudZyoGR
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 zICmwzsBXjbN 2026-08-29 5/250 2026-08-30 20:08 by hZiFeudZyoGR
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 AVl0JAsg9hyo 2026-08-29 5/250 2026-08-30 19:57 by hZiFeudZyoGR
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 gy1nBQXYQJqL 2026-08-29 9/450 2026-08-30 17:56 by hZiFeudZyoGR
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 ASdOkHsho7FD 2026-08-28 7/350 2026-08-30 06:10 by ZPa0EcMwuECS
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见