楼主: wangzt
2774 4

Matlab数据输入时的小问题(完结) [推广有奖]

  • 5关注
  • 7粉丝

贵宾

已卖:201份资源

院士

47%

还不是VIP/贵宾

-

威望
4
论坛币
147568607 个
通用积分
5400.6533
学术水平
2 点
热心指数
6 点
信用等级
5 点
经验
39810 点
帖子
1058
精华
0
在线时间
3299 小时
注册时间
2007-12-10
最后登录
2025-12-22

楼主
wangzt 发表于 2008-5-4 07:19:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

我从excel 导入数据A

 A col1 col2 col3
 row1 1 2 
 row2  3 4
 row3  5 6

进入Matlab之后,A变成了[1, 2, NaN; NaN, 3, 4; Nan, 5, 6]

第一问,我想将所有的NaN替换为0,我该怎么做?

第二问,将所有等于0的值替换为1.

[此贴子已经被作者于2008-5-4 8:22:02编辑过]

二维码

扫码加我 拉你入群

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

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

关键词:MATLAB matla atlab 数据输入 Mat 数据 MATLAB 输入

沙发
misslost 发表于 2008-5-4 07:45:00
n=size(A,1)*size(A,2);
for i=1:n
    if isnan(A(i))
        A(i)=0;
    end
end
A

for i=1:n
    if A(i)==0
        A(i)=1;
    end
end
A



藤椅
hoopmat 发表于 2008-5-4 07:57:00

1,用xlsread读excel数据的时候你可以把excel的那几个空的单元格填0,那么读到excel里面就会是0了,NaN是因为你的excel那几个单元格里面没有数字的原因。

2,for i=1:3

       for j=1:3

              if A(i,j)==0

                     A(i,j)=1;

end

end

end

[此贴子已经被作者于2008-5-4 7:59:16编辑过]

板凳
misslost 发表于 2008-5-4 08:01:00
如果你的A矩阵很大,可以用下面的程序
Z=find(isnan(A));
for i=1:length(Z)
    A(Z(i))=0;
end
A

Z=find(A==0);
for i=1:length(Z)
    A(Z(i))=1;
end
A

报纸
hwak 发表于 2008-5-4 08:26:00

学习学习!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 10:37