因为数字()而超出范围

时间:2014-05-15 20:37:16

标签: matlab

我想从名为" 2"的文件中检查每个age。这" 2"文件包含年龄,并按以下方式格式化:

  • 2010
  • 1997
  • 0
  • ...
  • ...

我编写的代码如下所示,但它返回错误:

enter image description here

data_register = importdata('DATA/2')

for i = 1:700

year=data_register(i);

age=2014-year(i);

B22(A22<=1)=1;
B22(A22>1&A22<50)=-1;
B22(A22>=50)=1; 


D22(i)=B22';

end

feature22= D22'

我做错了什么?

1 个答案:

答案 0 :(得分:2)

原因是因为year只是一个元素。当你移动到下一个迭代时,你正在越过界限,因为year只是一个元素,但你正试图访问不存在的第二个元素。

year是单个元素的原因是year = data_register(i)分配。您需要将age分配更改为以下内容:

age = 2014 - year;

除了

您的for循环对我没有任何意义。我不确定您在使用age时如何使用A22后面的语句。什么是B22age?它与{{1}}有关吗?这些是如何计算的?