找回密码
 注册
Simdroid-非首页
查看: 147|回复: 4

一道频次统计题目——据说是小学数题

[复制链接]
发表于 2013-9-10 15:18:39 | 显示全部楼层 |阅读模式 来自 北京
题目:



我先讲题目简化如下(测试数据):
  1. for i=0:9
  2.     xx(i+1,:)=sprintf('%d************************ ',i)
  3. end
复制代码
我先贴一循环解法:
  1. for k=1:4
  2.     for i=1:10
  3.         xx(i,end)=num2str(sum(xx(:)==num2str(i-1)))
  4.     end
  5. end
复制代码
答案:
  1. 0************************1
  2. 1************************7
  3. 2************************3
  4. 3************************2
  5. 4************************1
  6. 5************************1
  7. 6************************1
  8. 7************************2
  9. 8************************1
  10. 9************************1
复制代码
期待更好的~












本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2013-9-10 18:17:02 | 显示全部楼层 来自 北京西城
Simdroid开发平台
楼主的代码已经很好了啊,计算量很小
回复 不支持

使用道具 举报

发表于 2013-9-10 20:19:48 | 显示全部楼层 来自 英国
代码挺好,美中不足的是漏掉了另外一组解
  1. 0************************1
  2. 1***********************11
  3. 2************************2
  4. 3************************1
  5. 4************************1
  6. 5************************1
  7. 6************************1
  8. 7************************1
  9. 8************************1
  10. 9************************1
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2013-9-10 22:41:20 | 显示全部楼层 来自 山东淄博
没有想出好办法,只是在版主代码基础上加了个循环判断条件
  1. a=0:9
  2. b=[];
  3. c=hist([a b],unique(a));
  4. while ~isequal(b,c)
  5.     for i=1:10
  6.         b(i)=sum([a b]==a(i));
  7.     end
  8. c=hist([a b],unique(a));
  9. end
  10. b
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2013-9-20 08:44:00 | 显示全部楼层 来自 四川自贡
小中见大啊,受教了

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-28 20:27 , Processed in 0.037194 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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