• Регистрация
Andrey
Andrey+16.10
н/д
  • Написать
  • Подписаться

Количество строк в матрице. length(Matrice) в MATLAB?

Подскажите, пожалуйста, как обойти ошибку? 

В качестве промежуточных данных получаю матрицу: 

Sym = 

108.0000 -56.8008 0 46.8045 

59.0000 -33.3985 46.8045 -24.0227 

45.0000 1.3947 22.7819 -40.7138 

51.0000 3.8196 -17.9320 -17.1220 

43.0000 -22.6733 -35.0539 67.2016 

14.0000 -24.1264 32.1477 6.3154 

7.0000 11.1790 38.4631 -38.4631 

Нужно знать количество строк. 

n = length(Sym) 

n = 7 

Отлично, работаю дальше. 

Но если матрица с меньшим числом строк, например такая: 

Sym = 

31.0000 64.1333 0 -18.8000 

92.0000 54.7333 -18.8000 -2.0000 

137.0000 34.9333 -20.8000 20.8000 

то команда 

n = length(Sym) 

выдает уже число столбцов, а не строк 

n = 4 

А как можно однозначно определить число строк независимо от размера матрицы?

Теги

    17.12.2019

    Ответы

    • MaximSidorov
      MaximSidorov+118.29
      17.12.2019 14:00

      Функция length() используется в основном для определения длины векторов, об этом написано в хелпе. Пользуйтесь лучше функцией size(). Тогда: 

      numOfRows = size(Sym, 1); % число строк
      
      numOfCols = size(Sym, 2); % число столбцов