全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅 求助成功区
1110 8
2013-05-28
悬赏 10 个论坛币 已解决
我想对以下数据进行处理,就是对每一行的数字求对数,再求和,但是有NaN,求高手给个代码能不能跳过NaN,不要对NaN赋值.谢谢了!
附件: 您需要登录才可以下载或查看附件。没有帐号?我要注册

最佳答案

zhouguohaishi 查看完整内容

你的意思是现剔除掉数据中的NaN,然后对数,再各行求和吧! 假设你的数据定义为矩阵b [a1,a2]=size(b); a=zeros(a1,1); for i=1:a1 for j=1:a2 if ~isnan(b(i,j))&(b(i,j)>0) a(i,1)=a(i,1)+log(b(i,j)); end end end 矩阵a为所求
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-5-28 00:12:42
你的意思是现剔除掉数据中的NaN,然后对数,再各行求和吧!

假设你的数据定义为矩阵b
[a1,a2]=size(b);
a=zeros(a1,1);
for i=1:a1
     for j=1:a2
       if ~isnan(b(i,j))&(b(i,j)>0)
        a(i,1)=a(i,1)+log(b(i,j));
end
end
end
矩阵a为所求
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-28 00:24:31
啊?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-28 00:55:07
nan应该是从去log时来的。加个if语句吧
sum = 0;
for i=1:m % 你的求和
   if (your_number <= 0) then
         break;
   end
   sum = sum + log(your_number)
end
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-28 14:07:43
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-28 22:30:41
zhouguohaishi 发表于 2013-5-28 11:01
你的意思是现剔除掉数据中的NaN,然后对数,再各行求和吧!

假设你的数据定义为矩阵b
就是这个意思,虽然代码有些没看懂,不过还是谢谢了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群