Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство к лаб.работам_ver3f.doc
Скачиваний:
182
Добавлен:
14.03.2016
Размер:
5.56 Mб
Скачать
      1. Вывод нескольких графиков на одни оси

plot(x, f)

hold on

plot(x, g)

Рис.1.14. Вывод графиков функции f(x) и g(x) на одни оси с помощью команды hold

      1. Вывод нескольких графиков в одном графическом окне

Функция subplot(i,j,n) позволяет разбить графическое окно на несколько подграфиков со своими осями. Здесьiиj– число подграфиков по вертикали и горизонтали, аn– номер подграфика, который надо сделать текущим.

[X, Y] = meshgrid(-1:0.05:1, 0:0.05:1);

Z = 4*sin(2*pi*X).*cos(1.5*pi*Y).*(1-X.^2).*Y.*(1-Y);

subplot(3, 2, 1)

mesh(X, Y, Z)

title('mesh')

subplot(3, 2, 2)

surf(X, Y, Z)

title('surf')

subplot(3, 2, 3)

meshc(X, Y, Z)

title('meshc')

subplot(3, 2, 4)

surfc(X, Y, Z)

title('surfc')

subplot(3, 2, 5)

contour3(X, Y, Z)

title('contour3')

subplot(3, 2, 6)

surfl(X, Y, Z)

shading interp

title('surfl')

colormap(gray)

Рис.1.15. Вывод нескольких графиков в одном окне с помощью команды subplot

    1. Работа со звуковыми файлами в системе MatLab

      1. Считывание данных из wav-файлов

Считывание данных из wav-файлов осуществляется с помощью функции:

y=wavread(‘filename.wav’);

% «;» - подавляет вывод отсчетов на экран !

% filename – имя файла

% расширение wav указывать не обязательно

Размерность массива y зависит от количества записанных каналов в wav-файле (в простейшем случае, если wav-файл содержит монозапись, то переменная y будет вектором).

В системе MatLab при считывании данных из wav-файла значения отсчетов не зависимо от количества бит на отсчет представляются в диапазоне от -1 до 1 (рис.1.16).

Рис.1.16. Диапазон представлений отсчетов в системе MatLab при считывании из wav-файла

Функция wavread позволяет также считать из wav-файла дополнительную служебную информацию:

[y, Fs] =wavread(‘filename’); % получение значения частоты дискретизации Fs

[y, Fs, bits] =wavread(‘filename’); % получение значения бит на отсчет

[y, Fs, bits] =wavread(‘filename’, 1); % считывание частоты дискретизации, без считывания звуковых данных из файла

wavesize =wavread(‘filename’, ‘size’); % получение размера файла и числа каналов

В случае необходимости считать частично (фрагментарно) данные из wav-файле можно воспользоваться следующими возможностями функции wav-read:

y =wavread(‘filename’, N); % частичное считывание данных из файла, начиная с первого отсчета

y =wavread(‘filename’, [n1 n2]); % считывание фрагмента из файла

Пример считывания данных из wav-файла с их последующим графическим отображением (рис.1.17):

y=wavread('G:\SPEAK_TEHNOLOGY\Wav-фрагменты\Izgorod_22_UM.wav');

plot(y)

Рис.1.17. Фонограмма слова «Изгородь», считанная из wav-файла

При необходимости в системе MatLab имеется возможность отображать временные сегменты по частям с помощью функции strips (рис. 1.18):

strips(y, 5000) % Функция отображения фонограммы по частям

      1. Запись данных в wav-файл

Запись данных в wav-файл осуществляется в системе MatLab с помощью функции wavwrite:

wavwrite(y, Fs, N, ‘filename’);

где y - записываемые данные (вектор - моно; 2-хстолбцовая матрица - стерео), Fs – частота дискретизации, N – число бит на отсчет (8 или 16), filename – имя файла,

(Примечание: по умолчанию запись производится со следующими параметрами: N=15 и Fs =8000)

Диапазон записываемых данных должен быть вещественным и лежать на интервале: -1...1.

Рис.1.18. Отображение фонограмма с помощью функции strips

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]