2012-06-14 6 views
0

У меня проблема в MATLAB. У меня есть логический массив NXM под названием L, но если я dim(L) я получаю:Размеры логической матрицы MATLAB

Undefined function or method 'dim' for input arguments of type 'logical' 

size не работает. length работает, но дает мне только количество столбцов, а не строк. Странно то, что в рабочем пространстве Matlab оно корректно показано как логический массив NxM.

Кто-нибудь знает, как я могу получить количество строк и столбцов логического массива?

Заранее благодарен.

ответ

2

Если вы хотите, как количество строк и colums, size Ваш лучший выбор:

[nRows,nCols] = size(L) 

Если это не удается, используйте clear size первым, так как вы можете accidentially иметь переменную с тем же именем в вашем рабочем пространстве ,

+0

О, ну, теперь я чувствую себя глупо. В самом деле, я определил переменную с именем size: S Спасибо за пояс для подсказки. Должен ли я удалить сообщение, возможно? Но если серьезно, зачем MATLAB разрешить мне определять переменную с именем встроенной функции. По крайней мере, предупреждение было бы неплохо! – Stefan

+1

@Stefan: Matlab дает вам много свободы, в том числе свободу стрелять в ногу. Если вы чувствуете смущение, вы можете удалить свой пост, конечно, в противном случае, пожалуйста, примите мой ответ :) – Jonas

+0

@Stefan, я не вижу причин для удаления этого сообщения. Это может быть полезно многим другим людям. Я помню, что однажды определил сценарий try.m и попытался запустить его. Я думаю, мне потребовалось 2 часа, чтобы понять, что не так. –

Смежные вопросы