Загадочный 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! Коллега, кстати, этого тоже не знал. Вот так:)

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

Архив записей в блогах:
Аннотация: "Кульминация "альтернативной трилогии" о Гражданской войне. Неожиданный поворот вечного сюжета о "попаданцах" – в 1918 год проваливаются не наши современники, а фронтовики Второй Мировой. И не красноармейцы, а бойцы РОНА – Русской ...
Пишет 19-летняя теннисистка в трех сетах обыграла китаянку Чжу Линь ТАСС, 4 февраля. Представительница России Диана Шнайдер обыграла китаянку Чжу Линь в финальном матче турнира Женской теннисной ассоциации (WTA) в городе Хуахин, Таиланд. Встреча завершилась со счетом 6:3, 2:6, 6:1 ...
БРЮССЕЛЬ, 2 ноября. /ТАСС/. Бывшие акционеры ЮКОСа проиграли дело по аресту имущества РФ и российских компаний в Бельгии, они в четверг отозвали все свои иски ввиду их бесперспективности. Об этом российским журналистам сообщила представитель группы адвокатов, защищавших интересы ...
Давненько в моей ленте не было эротических подборок Саши Маврина. Исправляю данное упущение и резюмирую - Саша делает охуенные снимки! ...
Главное у Еременко - это познание Бога в природе. Его черемуха, взрывающаяся как водород, летающая активно ласточка, густые металлургические леса, где шёл процесс созданья хлорофилла являются онтологическим эквивалентом пастернаковских сосен. Глядя сквозь вершины, взгляд уходит на ...