查看: 4516|回复: 2|关注: 0

[已解决] 查找漏掉的值

[复制链接]

新手

25 麦片

财富积分


050


27

主题

74

帖子

0

最佳答案
我有一个矩阵a=[0,5,1;20,3,1;40,2,1;0,5,2;20,3,2;40,2,2;0,5,3;20,3,3;40,2,3]。第1列是时间(0s,20s,40s),第3列是检测器号码(共3个检测器),第2列是检测到的值。第一行数据就是检测器1在0是的检测值是5。问题是检测器会漏检,我想写个程序查漏,是哪个检测器漏检了哪个时间的值。找到后把漏检的那一行补起来,检测值就补NaN。该怎么写呢?谢谢。
回复主题 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

84 麦片

财富积分


50500


1

主题

172

帖子

16

最佳答案
发表于 2014-8-25 09:20:35 | 显示全部楼层 |此回复为最佳答案
  1. clear clc
  2. a=[0,5,1;20,3,1;40,2,1;0,5,2;20,3,2;40,2,2;0,5,3;20,3,3;40,2,3];
  3. b=[0,5,1;20,3,1;40,2,1;0,5,2;40,2,2;0,5,3;20,3,3;40,2,3];%b为机器检测到的
  4. c=[0;20;40];%c是第一列的3种值
  5. d=3;%d是第三列最大值
  6. e=nan(length(c)*d,3);%e是整理后的数组
  7. for i=1:d
  8.     e((i-1)*3+1:(i-1)*3+length(c),1)=c;
  9. end
  10. j=1;
  11. for i=1:size(e,1)
  12.    if b(j,1)==e(i,1)
  13.        e(i,1:3)=b(j,1:3);
  14.        j=j+1;
  15.    end
  16. end
复制代码
写的有点乱,你先看看吧
回复此楼 已获打赏: 0 积分

举报

新手

25 麦片

财富积分


050


27

主题

74

帖子

0

最佳答案
 楼主| 发表于 2014-8-25 16:05:46 | 显示全部楼层
1185878525 发表于 2014-8-25 09:20
写的有点乱,你先看看吧

谢谢。你这个思路比较好。先写nan再填值。我是先找错误,再写nan。因为数据量太大,结果总不对。
回复此楼 已获打赏: 0 积分

举报

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

本版积分规则

关闭

站长推荐上一条 /5 下一条

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