Загадочный Matlab

топ 100 блогов mitya-kapl — 22.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! Коллега, кстати, этого тоже не знал. Вот так:)

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

Архив записей в блогах:
Вы когда-нибудь покупали с мужчиной саморезы? Это же просто песня! Они вдумчиво берут каждый в руки, рассматривают, оценивают длину, цвет, форму головки шляпки. Потом обязательно оказывается, что вот эти вот не той фирмы, а вон у тех совсем неподходящий цвет, потому что именно в том ...
Не откажу себе в возможности снова "покрасоваться" Kevianno-великолепным!Фото сделано его рукой. На нём - весь тот же мейкап, что и на мне (кроме теней, туши и помады). Ну не прикольно? Начну с подготовки. Использовался дневной флюид, про который я ...
Тут прям всё хорошо ...
Переговоры между российской и украинской делегации теперь в Турции. Но от перемены мест слагаемых сумма, как мы знаем, не меняется. Вот и на нынешние переговоры возлагать особых надежд не следует. Зеленский изо всех российских требований согласился пока только на нейтралитет, больше ...
Эногастрономия  вЂ“ это настоящее искусство, которое заключается в подборе вина к тому или иному блюду . С самого первого дня, когда люди научились превращать виноградный сок в вино, этот чудесный напиток не перестает радовать тело и ...