2013-02-14 2 views
0

Я импортирую файл .csv в matlab. Файл имеет 5 столбцов, я хочу получить длину третьего столбца, то есть среднего.Длина массива Matlab

Я пробовал length(B,3) где B - файл.

B = importdata(fileName,delimiterIn,headerlinesIn);

Я не могу заставить его работать, как она возвращает 1 каждый раз.

Любая помощь будет большой благодарностью.

ответ

1

размер третьего столбца может быть получено

size(B(:, 3)) 

Однако размер B матрица все столбцы должны иметь одинаковый размер!
Таким образом, вы можете точно так же типа

size(B, 1) 

Чтобы получить количество строк в матрице B

+0

'элементы = размер (B (:, 3));' вот что я имею в мой код прямо сейчас, и это дает мне ошибку. Но он не говорит, что такое ошибка. – ELSheepO

+1

@ELSheepO (1) Мне трудно поверить, что «это не говорит, какая ошибка»: попробуйте и посмотрите, что он говорит. используйте ['lasterror'] (http://www.mathworks.com/help/matlab/ref/lasterror.html), если вам нужно. (2) можете ли вы проверить тип 'B'? введите 'class (B)'. Это 'cell' или' double'? – Shai

+0

последняя ошибка ??? Неопределенная функция или метод «последний» для входных аргументов типа «char». То информацию он дает мне >> класс (B) ANS = STRUCT – ELSheepO

1

CSV файлы обычно импортируются csvread функции, а именно:

B = csvread(fileName); 

Это, однако, будет дайте вам матрицу, поэтому все столбцы будут иметь одинаковую длину. Действительно, по определению (rfc4180):

Каждая строка должна содержать одинаковое количество полей по всему файлу