Загадочный Matlab

топ 100 блогов mitya-kapl22.02.2016 Столкнулся тут с очень интересной ситуацией в Matlab.
Дело в том, что мы в ЛЭТИ занимаемся одним небольшим проектом, связанным с распознаванием речи. И вот присылает мне мой коллега код для Matlab, который, по его утверждению, проверен и работает. Во время компиляции выдаётся ошибка вот в такой строчке:
Error using .*
Matrix dimensions must agree.
Error in preproc_MFCC_extraction (line 79)
windowed = x.*hamming(length(x))'; % взвешивание окном


Ну, то есть при использовании операции поэлементного умножения матриц размеры этих самых матриц не согласованы. Смотрю промежуточные результаты и вижу, что размерность X получается 882x1, а размерность транспонированного окна Хэмминга 1x882. Значит, поэлементно их так не умножить. На всякий случай залез в help, а там написано следующее:
"Inputs A and B must be the same size unless one is a scalar..."  Говорю коллеге, что это не работает, но он клянётся, что работало именно так. Ладно, убираю транспонирование, собирается дальше. Потом столкнулся с тем, что забыл установить toolbox для распознавания речи - MSR Identity Toolbox. Поставил toolbox и компилирую снова - опять ошибка на том же самом месте! Выдаёт такое же сообщение:
Error using .*
Matrix dimensions must agree.
Error in preproc_MFCC_extraction (line 79)
windowed = x.*hamming(length(x)); % взвешивание окном

Но теперь то у меня код без транспонирования! Вернул транспонирование на место, и всё собралось! А это значит, что с toolbox и без функция hamming() возвращает результаты в разном формате! Впервые открыл для себя такое в Matlab! Коллега, кстати, этого тоже не знал. Вот так:)

Оставить комментарий

Архив записей в блогах:
В бизнес-сферу и прошедший год, и нынешний принесли много волнений. Уменьшение прибыли, сокращение количества заказов и прочие передряги привели в замешательство многих руководителей...Об основных принципах управления, которых стоит придерживаться в нынешних условиях, рассказала Надежда ...
И все же мы с моей матерью больные на все обе две наших головы. Вот на кой, на кой нам шестьдесят литров соленых грибов? И это я скромно молчу про маринованные, морозилку жареных и дофигища сушеных. Ну что мы их, жрать, что ли, будем? Дебилы – тащить ...
Нынешний Мемориальный музей обороны и блокады Ленинграда существенно отличается от того, что было ранее. Экспозиция отчасти "диорамная", плохо это, или хорошо, вопрос неоднозначный. В любом случае, можно сказать, что это современные тенденции. В любом случае, данный формат не отменил ...
   Уильям покидает госпиталь    Кэтрин ,в данное время,находится в госпитале короля Эдварда VII в Лондоне .Там же,с супругой,находится и Уильям.Мероприятия Кейт,намеченные на 5-е,8-е и 9-е декабря ,отменены.  Из интернет-слухов:о ...
А кто сейчас спит? Нет таких! - как сказал бы Николай Василич. Не время спать, товарищ, голактеко опасносте. Давайте лучше устроим оргию. Кто о чем, а я о вечном или желания, которые сбываются. На предыдущей моей работе в прошлом апреле случилась катастрофа. Сосудистая катастрофа всей ...