1

这是一个非常简单的问题,但我无法相信我被困住了。

我有一个文件,其中每一列都是不同的格式。有些是字符串,有些是整数。通过使用 textscan,我可以将文件作为单元格向量导入 MATLAB。

我想做的是创建一个新矩阵,其中只有 10 岁以下的猫。

Animal Age
Cat 11
Dog 5
Cat 2
Dog 11
Cat 16
Cat 3

如果不是因为它们在各自的细胞中,这将不是问题。A{1} 给了我一个动物列表,A{2} 给了我一个年龄列表。如果它可以通过不使用 textscan 来解决,那也是一个选项,因为读取文件的方式并不重要。

4

1 回答 1

3

这是我会怎么做

 FileId2=fopen('Animals.txt')
 title=textscan(FileId2,'%s %s',1);   % this reads only the first line 
 data==textscan(FileId2,'%s %d');     % reads the rest of the file and stores them in string and in
 Cat=strcmp(D{1},'Cat');              % looks for Animal of type cat
 Age=data{2};                         % gets the age of the animal
 Ageofcats=Age(Cat);                  % get the age of cats 
 % and then you just find what you want
 find(Ageofcats<10);
于 2013-11-06T17:34:23.963 回答