% Вектор частот
w = 2*pi*( (0:(N-1))/N );
w = w - 2*pi*(w>=pi)
% Сдвиг FFT к интервалу от -pi до +pi
X = fftshift(X);
w = fftshift(w);
Если функция используется как имеющая единственный выходной параметр, но имеет ряд выходных параметров, то для возврата значения будет использоваться первый из них, т. е. возвращается только var1. Это может приводить к ошибкам в вычислениях.
MATLAB M-файлы могут содержать операторы условного перехода и циклы.
Условный оператор if в общем виде записывается следующим образом:
if Условие
Инструкции_1
elseif Условие
Инструкции_2
else
Инструкции_3
end
Для осуществления множественного выбора (или ветвления) используется конструкция с переключателем типа switch:
switch switch_Bыражение
case саsе_Выражение
Список_инструкций
case {саsе_Выражение1, Саsе_выражение2, саsе_ВыражениеЗ....}
Список_инструкций
otherwise. Список_инструкций
end
Оператор цикла с предусловием имеет вид:
while <условие>
<операторы>
end
Оператор цикла for:
for <переменная> = <начальное значение>:<шаг>:<конечное значение>
<операторы>
end
Досрочное завершение циклов реализуется с помощью операторов break или continue.
Пример цикла for
for k=1:10
x(k) = cos(k);
end
Создается 1x10 вектор x, содержащий значения косинуса целых положительных чисел от 1 до 10.
Но это же вычисление более быстро выполняется в MATLAB с использованием конструкции вида
k = 1:10;
x = cos(k);
Построение графиков MATLAB
Matlab имеет исключительно мощную систему для построения различных графиков, а также их настройки и форматирования. Типы и подтипы графиков Matlab очень разнообразны. Графики выводятся в отдельных графических окнах. На одном графике можно построить множество кривых, отличающихся цветом и типами линий и точек.
Простые команды построения графиков
>>plot(t,y) % График непрерывной функции
>>plot(x1, y1, x2, y2) % Графики зависимостей y1 от x1 и y2 от x1
>>stem(x,y) % График дискретной функции (сигнала)
>>stairs(x,y) % График в виде ступенчатой линии
>>loglog(f,Y) % График с логарифмическими масштабами по x и y
>>semilogx(f,Y) % Логарифмический масштаб по x и линейный по y
>>polar(phi, r) % График в полярных координатах
>>xlabel(‘время’) % Метка по оси x
>>ylabel(‘Напряжение’) % Метка по оси y
>>legend(‘АЧХ системы‘) % Вывод поясняющей надписи
>>axis([xmin, xmax, ymin, ymax]) % Установка масштабов по осям x и y
>>figure(n) % Устанавливает фигуру (окно) n активной
>>subplot(r,c,n) % Разбивает
графическое окно на r * c подокон и
% устанавливает подокно n в качестве
активного.
>>grid % к графику добавляется сетка
>>hold on % позволяет построить несколько графиков в окне
>> hold off % отменяет hold on для текущего графика
>> text % позволяет разместить текст на графике
>> zoom on
/ off % включение / выключение возможности
увеличения
% фрагментов графика с использованием
% левой и правой кнопок мыши
Пример
>> t=linspace(0, 8, 401);
>> x = t.*exp(-t).*cos(2*pi*4*t);
>> figure(1)
>> subplot(2,1,1)
>> plot(t,x)
>> xlabel('Time (s)');
>> ylabel('Amplitude')
>> subplot(2,1,2)
>> stem(t,x)
>> axis([0 1 min(x) max(x)] )
Рис.1.
В нерусифицированных версиях Matlab вывод надписей (меток, заголовков и др.) на русском языке требует установки вывода кириллицы в графический объект командой вида
set(gca, 'FontName','Times New Roman Cyr','FontSize', 8).
В команде должны устанавливаться имя и размер кириллического шрифта. Команда должна использоваться в каждом подокне соответствующего графического окна.
Пример.
Fs=1024; % Частота отсчетов
f1=50; % частота гармоники
f2=60;
N=512; % число отсчетов сигнала
n=0:(N-1);
t=0:1/Fs:(N-1)/Fs; % вектор времени
% генерирование сигнала для анализа
x=cos(2*pi*f1*t)+0.5*cos(2*pi*f2*t)+randn(1,length(t));
plot(t,x), grid % график сигнала
% установка вывода кириллицы в активном графическом окне
set(gca, 'FontName','Times New Roman Cyr', 'FontSize', 10)
title('Сигнал')
xlabel('Время, c')
Рис.2.
Последние версии Matlab позволяют выполнять разнообразную настройку графического окна и его объектов с помощью его меню или панели инструментов (рис.3).
Редактор свойств вызывается командой Edit | Figure Properties (рис.3).
В окне редактора или с помощью контекстного меню по правой кнопке мыши производятся необходимые установки (цвет, размер, тип, толщина линии и т.п.) объекта окна графики.
Возможности для подобной интерактивной настройки графики - очень широкие.
Рис.3.
|
|||
|
|||
Рис.4.
Рис.5.
Трехмерная графика Matlab – очень развитая и многообразная, но в курсе «Теория и обработка сигналов» она почти не используется.
Некоторые из команд построения 3D – графиков
>>plot3(…) % строит аксонометрическое изображение 3D-поверхности
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.