2013-11-06 3 views
1

Это очень простой вопрос, но я не могу поверить, насколько я застрял.Извлечение строк из вектора ячейки

У меня есть файл, где каждый столбец отличается от формата. Некоторые из них являются строками, некоторые - int. С помощью textscan я могу получить файл в MATLAB как вектор ячеек.

То, что я хочу сделать, это создать новую матрицу, где только кошки в возрасте до 10 находятся.

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

Это не было бы проблемой, если бы не тот факт, что они в их отдельных клеток. A {1} дает мне список животных, A {2} дает мне список веков. Если это можно решить, не используя textscan, это опция, так как способ чтения файла не имеет большого значения.

ответ

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); 
Смежные вопросы