Кто же будет делать бесплатные мощные (с точки зрения вычислений) программы?
А за денежки: моделирование и симуляция есть в Матлабе (+Симулинк), напр., Aerospace Blockset (если речь идёт о корпусе летательного аппарата) www.mathworks.com/help/aeroblks/examples/lightweig...
Денис: Вообще-то в Матлабе есть команды и ввода файла, и вычисления спектрограммы, и вывода результатов в файл. Кстати, т.к. спектрограмма двумерная ф-я, т.е. содержит большое количество данных, то имеет смысл выводить только те характеристики, которые вам нужны.
Вы уверены, что вам нужен спектр всего файла? Обычно для длинной последовательности делают спектрограмму, т.е. окном пробегают по времени и получается функция двух переменных - времени и частоты.
Владислав: Нет, оба метода выдают диапазон.
1). Рассмотрим разность векторов. При норме 2 (наше обычное (эвклидово) расстояние) это sum ( ( a(i)-b(i) )^2 ) ^0.5. Такая сумма всегда положительна и, естественно, может быть >1. Чем меньше результат, тем ближе векторы. 0 означает тождественность.
2). При корреляции считаем sum( a(i)*b(i) ) / [sum( a(i)^2 ) * sum( b(i)^2 ) ^0.5. Тут будет особенность: при 1 векторы ЛИНЕЙНО коррелированы, т.е. направлены в одну сторону, но могут иметь разную длину (напр., а = [1,2,3], b = [2,4,6]. Если линейная связь вас не устраивает, то, конечно, разность (первый способ) предпочтительнее.
Владислав: Так по корреляции тоже можно сортировать. Применяются оба метода, напр. в нейронной сети Кохонена - разница, в сравнении временных рядов или изображений - корреляция.
MatLab. Очень много алгоритмов, не надо описывать переменные (язык - интерпретатор, но если нет вложенных циклов, то работает очень шустро), простая визуализация результатов.