如何在matlab中从Excel导入的数据中将某些字符串值更改为数值

时间:2018-03-15 16:23:22

标签: matlab

我正在处理NSL-KDD数据集,我想用matlab将一些字符串更改为数值,这是我的代码

a = xlsread ('20 Percent Training Set.xls'); % normal data
[n,p]= size (a);
% calculate mean for normal data
for z =1:n
    for v=1:p
        b = a(z,v);
        if strcmp(b,'tcp')
            b=1;
        end
    end
end
a

但是当我打印矩阵a NaN值仍未改变时,我能做些什么,谢谢。

1 个答案:

答案 0 :(得分:0)

问题是您要更改b,而不是a。您需要设置a(z,v)=1。因此,您的代码应为:

a = xlsread ('20 Percent Training Set.xls'); % normal data
[n,p]= size (a);
% calculate mean for normal data
for z =1:n
    for v=1:p
        b = a(z,v);
        if strcmp(b,'tcp')
            a(z,v)=1;
        end
    end
end
a