Справочник от Автор24
Поделись лекцией за скидку на Автор24

Сценарии, функции и графические средства среды MATLAB 5.x

  • ⌛ 2009 год
  • 👀 246 просмотров
  • 📌 208 загрузок
  • 🏢️ Нижегородский государственный технический университет
Выбери формат для чтения
Статья: Сценарии, функции и графические средства среды MATLAB 5.x
Найди решение своей задачи среди 1 000 000 ответов
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Сценарии, функции и графические средства среды MATLAB 5.x» doc
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра “Информационные радиосистемы” Сценарии, функции и графические средства среды MATLAB 5.x Методические указания к лабораторной работе № 1 по спецкурсу “Основы работы в системе MATLAB” для студентов специальности 200700 “Радиотехника” Нижний Новгород 2009 Составители: А.А.Кузин, Е.Н.Приблудова УДК 621.325.5-181.4 Сценарии, функции и графические средства среды MATLAB 5.x: Метод. указания к лаб. работе №1 по спецкурсу “Основы работы в системе MATLAB” для студентов спец. 200700 / НГТУ; Сост.: А.А.Кузин, Е.Н.Приблудова. Н.Новгород, 2009. 18 с. Изложены некоторые сведения о работе в системе MATLAB из режима командной строки, приведены краткие пояснения по созданию М‑сценариев и М‑функций. Определен порядок выполнения лабораторной работы, предложены варианты заданий различной сложности. Редактор Подп. к печ. __.__.__. Формат ______. Бумага газетная.Печать офсетная. Печ.л. ___. Уч.-изд.л. ____. Тираж ___ экз. Заказ ___. ________________________ Нижегородский государственный технический университет. Типография НГТУ. 603600, Н.Новгород,ул.Минина,24.  Нижегородский государственный технический университет, 2009 Цель работы Приобретение начальных навыков использования среды MATLAB 5.x: • работа в режиме командной строки; • создание, редактирование, отладка простых M-сценариев и M-функций; • построение двумерных (2D) и трехмерных (3D) графиков. Краткие сведения Замечания: • в примерах, приводимых далее, ввод пользователя выделен полужирным шрифтом, ответы системы MATLAB - обычным шрифтом, заголовки примеров ‑ полужирный курсив (наклонный), пояснительный текст ‑ обычный курсив; • в угловые скобки заключены необязательные операторы или параметры; • строки комментария начинаются с символа %. 1. Командная строка MATLAB Командная строка MATLAB позволяет пользователю выполнять вычисления в интерактивном (диалоговом) режиме. В командной строке допускается ввод любых команд MATLAB. При этом результат вычислений отображается в командном окне непосредственно после завершения ввода команды. Символ ‘;’ в конце команды подавляет вывод результата в командное окно. Это бывает необходимо при работе с матрицами большой размерности. Последовательность вводимых команд сохраняется в командном буфере и может выбираться из него с помощью клавиш Up (Стрелка вверх) и Down (Стрелка вниз). Выполнение команды, выбранной из буфера, осуществляется по нажатию клавиши Enter (Ввод). Пример 1. Работа в режиме командной строки » a=[1,2,3,4,5] a = 1 2 3 4 5 » b=[1;2;3;4;5] b = 1 2 3 4 5 » c=b*a c = 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25 ввод вектора - строки а ввод вектора ‑ столбца b вычисление произведения матриц b*a » for k=1:10 x(k)=sin(0.1*(k-1)); end ввод цикла вывод результата в командное окно запрещен » x x = Columns 1 through 7 0 0.0998 0.1987 0.2955 0.3894 0.4794 0.5646 Columns 8 through 10 0.6442 0.7174 0.7833 » просмотр массива x 2. Программирование в MATLAB Если требуется выполнять большую последовательность команд или повторять группу команд для различных значений входных переменных, работа в режиме командной строки становится неудобной. Для облегчения работы MATLAB поддерживает два типа файлов: М‑сценарии и М‑функции. 2.1. М-сценарий (Script-файл) Сценарий ‑ это внешний файл, содержащий последовательность операторов, т.е. команд и вызовов функций. Функции могут быть как встроенными в MATLAB, так и созданные пользователем. Команда script задает заголовок сценария и записывается в первой строке, отличной от комментариев, далее следуют операторы системы MATLAB. Пример 2. М-сценарий <комментарии> % пример М‑сценария script <операторы> [mod_in,mod_out,arg_in,arg_out]=recu1_cal(betta) <операторы> Запуск сценария осуществляется командой “Файл-Выполнить сценарий” 2.2. М-функции Функции являются М-файлами, которые допускают наличие входных и выходных аргументов. Они работают с переменными в пределах собственной рабочей области, отличной от рабочей области системы MATLAB. М-функция включает следующие компоненты: • необязательные строки комментария; • обязательную строку определения функции, в которой указано имя M‑функции и список входных и выходных параметров; • тело функции – последовательность операторов, реализующие вычисление M-функции (переменные, используемые в теле функции – это локальные переменные, в отличие от переменных script-файлов, которые являются глобальными). Строка определения процедуры-функции function[<список выходных переменных>]=имя функции(<список входных переменных>) Списки входных и выходных аргументов могут отсутствовать, длина имени функции не должна превышать 31 символ. Пример 3. М-функция <комментарии> % функция с именем recu1_cal имеет один входной параметр betta и % четыре выходных - mod_in, mod_out, arg_in, arg_out function [mod_in,mod_out,arg_in,arg_out]=recu1_cal(betta) <оператор> . . . – тело M-функции <оператор> 2.3. Циклы и ветвления 2.3.1. Оператор цикла с неизвестным числом повторений while выражение <оператор> . . . <оператор> end Операторы, указанные в теле цикла, выполняются, пока выражение истинно. Пример 4. Цикл while »fact=1; k=1; while fact<1e5 fact=fact*k; k=k+1; if n>100 break; end end 2.3.2. Оператор цикла с известным числом повторений for переменная цикла = начальное значение : <приращение> : конечное значение <оператор> . . . <оператор> end Операторы, указанные в теле цикла, выполняются заданное число раз. При этом переменная цикла последовательно принимает все значения от начального до конечного с приращением после каждого прохода цикла. См. пример 1. 2.3.3. Оператор условного ветвления if выражение 1 <оператор 1> <оператор 2> <оператор 3> end Если выражение 1 истинно, выполняется оператор 1, в противном случае проверяется выражение 2. Если выражение 2 истинно, выполняется оператор 2, если ложно - оператор 3. Пример 5. Условное ветвление » for k=1:20 x=k*pi/10-pi; if x~=0 y(k)=sin(x)/x; else y(k)=1; end end 2.4. Графические функции 2.4.1. Создание окна для вывода графика figure Команда открывает новое окно для вывода графиков. 2.4.2. Разбиение графического окна subplot(m,n,p) Данная команда выполняется перед обращением к функциям построения графиков для разбиения графического окна на несколько подокон и указания в какое именно подокно будет выводиться график. Значение m указывает, на сколько частей разбивается окно по горизонтали, n – по вертикали, а p – номер подокна, куда будет выводиться очередной график. Пример 6. Разбиение графического окна subplot(2,1,1) Команда subplot разбивает окно на 2 подокна по вертикали и последующий вывод графика будет производиться в первое подокно. 2.4.3. Двумерный график в линейном масштабе plot(y) plot(x,y) plot(x1,y1,s1,x2,y2,s2,…) Команда plot(y) строит график функции y, в качестве значений аргумента функции выводится индекс элемента вектора y. Команда plot(x,y) соответствует построению обычной функции, когда одномерный массив x соответствует значениям аргумента, а одномерный массив y – значениям функции. Команда plot(x1,y1,s1,x2,y2,s2,…) позволяет объединить на одном графике несколько функций y1(x1),y2(x2),…, определив для каждой из них свой способ отображения (см.табл.2). Пример 7. Вывод двух графиков subplot(2,1,2) plot(j,mod_in,'-',j,mod_out,'- -') Команда plot выводит в одной системе координат два графика из массивов mod_in, mod_out разными стилями линий во второе подокно. 2.4.4. Двумерные графики с логарифмическими осями semilogx(…) semilogy(…) loglog(…) Команды аналогичны plot, но имеют логарифмический масштаб осей: semilogx – по оси x, для semilogy – по оси y и loglog – по обеим осям. Входные параметры такие же, как в plot. 2.4.5. Двумерный график в полярных координатах polar(theta, rho) polar(theta,rho,s) Команда отображает график в полярных координатах. Параметры: theta – угол в радианах; rho – радиус; s – стиль линии графика. Пример 8. График в полярных координатах » x=-pi:0.01*pi:pi; » y=2*cos(3*x); » polar(x,y) 2.4.6. Трехмерная графика plot3(x,y,z) mesh(z) mesh(x,y,z) surf(z) surf(x,y,z) Команда plot3 строит график в трехмерных координатах, используя в качестве координат точек одноименные элементы матриц x,y и z. Точки соединяются прямой линией. Матрицы x,y,z должны иметь одинаковую размерность. Пример 9. Команда plot3 » t=0:pi/50:10*pi; » plot3(sin(t),cos(t),t) Команды mesh(…) и surf(…) отличаются способом отображения. Команды mesh(z), surf(z) отображают значения двумерной матрицы z, при этом в качестве координаты x берется индекс столбца матрицы z, в качестве координаты y – индекс строки матрицы z. Пример 10. Команда surf » z=randn(100); » surf(z) Команды mesh(x,y,z) и surf(x,y,z) отображают двумерную матрицу z, использую в качестве координат x и y соответствующие векторы. Требуется согласование размерностей матрицы и векторов, так для матрицы z[m,n] вектора должны быть x[n] и y[m]. 2.5. Ввод параметров программы Пример 11. Ввод параметра » x=input('Введите параметр x: ') Введите параметр x: 123 x = 123 » 2.6. Отладка программ Отладчик предназначен для выявления ошибок при программировании в системе MATLAB. Сеанс отладки начинается с установки контрольных точек, т.е. специальным образом помеченных строк в тексте файла, при достижении которых выполнение приостанавливается. Это дает возможность просматривать и изменять содержимое рабочих областей и выполнять M‑файл построчно. После установки контрольных точек запуск программы осуществляется командой “Инструменты – Run”. Программа выполняется до первой контрольной точки. Просмотр рабочих областей выполняются по команде “Вид – Рабочие документыа” из меню отладчика, либо нажатием кнопки “Рабочая область” в командном окне MATLAB. При этом открывается дополнительное окно, содержащее список переменных рабочих областей. Двойным щелчком мыши на символе переменной можно просмотреть ее значения. В режиме отладки при установке курсора мыши на имя переменной в окне редактирования около курсора высвечивается ее текущее значение. Сценарий и функция используют различные типы переменных. Сценарий создает глобальные переменные, которые существуют все время выполнения программы. Функции используют локальные переменные, которые существуют только пока выполняется функция и при выходе из функции уничтожаются. Порядок выполнения Часть 1. В режиме командной строки системы MATLAB выполнить следующее: • сформировать комплексный вектор размерности (1х100) – модель отсчетов комплексной огибающей шума; • ввести единичный вектор размерности (1х15); • вычислить свертку двух сформированных векторов; • используя различный стиль линий, построить графики: • в первом подокне ­– нормированной амплитуды исходного случайного процесса и результата свертки; • во втором подокне – фазы исходного и выходного процессов; • вычислить преобразование Фурье исходного и результирующего процессов; • создать второе графическое окно и, используя различный стиль линий, построить графики: • в первом подокне – амплитудные спектры входного и выходного сигналов; • во втором подокне – фазовые спектры сигналов; • полученные результаты продемонстрировать преподавателю. Часть 2. В соответствии с вариантом задания создать М‑сценарий, вызывающий М‑функцию. М‑сценарий должен осуществлять: • ввод требуемых параметров; • вызов М‑функции с соответствующими входными и выходными аргументами; • отображение результатов М‑функции в одном или нескольких окнах. М‑функция должна выполнять только вычисления. ВАРИАНТЫ ЗАДАНИЙ Вариант 1 Работа фильтра первого порядка описывается разностным уравнением y(n) = x(n) + b * y(n‑1), где b – коэффициент обратной связи. Исследовать прохождение через фильтр белого шума, для этого: • ввести длину реализации N и коэффициент обратной связи b; • сформировать входную реализацию шума как комплексный массив x(1N); • вызвать М‑функцию, входными параметрами которой будут массив x, коэффициент b и длина реализации N, а в качестве выходных параметров – комплексный массив выходных значений y и преобразования Фурье от входного и выходного массивов; • в первом графическом окне различными цветами построить графики нормированного модуля и фазы входного и выходного сигналов; • во втором графическом окне построить графики нормированного модуля и фазы преобразований Фурье от входного и выходного сигналов; • полученные результаты представить преподавателю. Вариант 2 Работа фильтра первого порядка описывается разностным уравнением y(n) = x(n) + b * y(n‑1), где b – коэффициент обратной связи. Построить импульсную и частотные характеристики фильтра, для этого: • ввести длину реализации N и коэффициент обратной связи b; • сформировать входную реализацию как действительный нулевой массив x(1N); • присвоить элементу x(1) значение 1 (аналог ‑функции); • вызвать М‑функцию, входными параметрами которой будут массив x, коэффициент b и длина реализации N, а в качестве выходных параметров – действительный массив выходных значений y и преобразования Фурье от выходного массива; • в различных подокнах построить графики нормированного выходного сигнала, нормированного модуля и фазы преобразования Фурье от выходного сигнала; • полученные результаты представить преподавателю. Вариант 3 Выходной сигнал фильтра вычисляется по формуле , где b(k) – коэффициенты фильтра. Построить импульсную и частотные характеристики фильтра, для этого: • ввести длину реализации N и число коэффициентов фильтра M; • сформировать входную реализацию как действительный нулевой массив x(1N); • присвоить элементу x(1) значение 1 (аналог ‑функции); • вызвать М‑функцию, входными параметрами которой будут массив x, число коэффициентов фильтра M и длина реализации N, а в качестве выходных параметров – действительный массив выходных значений y и преобразования Фурье от выходного массива; • M‑функция вычисляет вектор коэффициентов фильтра b(i) = 1/M, i = 1 … M; • в различных подокнах построить графики нормированного выходного сигнала, нормированного модуля и фазы преобразования Фурье от выходного сигнала; • полученные результаты представить преподавателю. Вариант 4 Выходной сигнал фильтра вычисляется по формуле , где b(k) – коэффициенты фильтра. Построить импульсную и частотные характеристики фильтра, для этого: • ввести длину реализации N и число коэффициентов фильтра M; • сформировать входную реализацию как действительный нулевой массив x(1N); • присвоить элементу x(1) значение 1 (аналог ‑функции); • вызвать М‑функцию, входными параметрами которой будут массив x, число коэффициентов фильтра M и длина реализации N, а в качестве выходных параметров – действительный массив выходных значений y и преобразования Фурье от выходного массива; • M‑функция вычисляет вектор коэффициентов фильтра , i = 1 … M; • в различных подокнах построить графики нормированного выходного сигнала, нормированного модуля (в логарифмическом масштабе по y) и фазы преобразования Фурье от выходного сигнала; • полученные результаты представить преподавателю. Вариант 5 Выходной сигнал фильтра вычисляется по формуле , где b(k) – коэффициенты фильтра. Построить импульсную и частотные характеристики фильтра, для этого: • ввести длину реализации N и число коэффициентов фильтра M; • сформировать входную реализацию как действительный нулевой массив x(1N); • присвоить элементу x(1) значение 1 (аналог ‑функции); • вызвать М‑функцию, входными параметрами которой будут массив x, число коэффициентов фильтра M и длина реализации N, а в качестве выходных параметров – действительный массив выходных значений y и преобразования Фурье от выходного массива; • M‑функция вычисляет вектор коэффициентов фильтра , i = 1 … M; • в различных подокнах построить графики нормированного выходного сигнала, нормированного модуля (в логарифмическом масштабе по y) и фазы преобразования Фурье от выходного сигнала; • полученные результаты представить преподавателю. Вариант 6* Работа фильтра первого порядка описывается разностным уравнением y(n) = x(n) + b * y(n‑1), где b – коэффициент обратной связи. Построить семейство импульсных характеристик фильтра по параметру b, для этого: • ввести длину реализации N, минимальное и максимальное значения коэффициента обратной связи (b_min и b_max) и количество характеристик в семействе С; • сформировать входную реализацию как действительный нулевой массив x(1N); • присвоить элементу x(1) значение 1 (аналог ‑функции); • вызвать М‑функцию, входными параметрами которой будут массив x, коэффициенты b_min и b_max, длина реализации N и количество характеристик C, а в качестве выходных параметров – двумерный действительный массив импульсных реакций размерностью (NC); • график семейства импульсных реакций построить в трехмерных координатах; • полученные результаты представить преподавателю. Вариант 7* Работа фильтра первого порядка описывается разностным уравнением y(n) = x(n) + b * y(n‑1), где b – коэффициент обратной связи. Построить семейство по параметру b реакций фильтра на ступенчатое входное воздействие, для этого: • ввести длину реализации N, минимальное и максимальное значения коэффициента обратной связи (b_min и b_max) и количество характеристик в семействе С; • сформировать входную реализацию как действительный единичный массив x(1N); • элементы с x(1) до x(N/2) обнулить; • вызвать М‑функцию, входными параметрами которой будут массив x, коэффициенты b_min и b_max, длина реализации N и количество характеристик C, а в качестве выходных параметров – двумерный действительный массив выходных реакций фильтра размерностью (NC); • график семейства импульсных реакций построить в трехмерных координатах; • полученные результаты представить преподавателю. Вариант 8** Выходной сигнал фильтра вычисляется по формуле , где b(k) – коэффициенты фильтра. Построить семейство по параметру M нормированных амплитудно‑частотных характеристики фильтра, для этого: • ввести длину реализации N, минимальное и максимальное значение параметра (M_min и M_max соответственно) и количество характеристик в семействе C; • сформировать входную реализацию как действительный нулевой массив x(1N); • присвоить элементу x(1) значение 1 (аналог ‑функции); • вызвать М‑функцию, входными параметрами которой будут массив x, минимальное и максимальное число коэффициентов фильтра M, длина реализации N и количество характеристик C, а в качестве выходных параметров – действительный массив амплитудно‑частотных характеристик, полученных как модуль преобразования Фурье от импульсной реакции; • M‑функция вычисляет вектор коэффициентов фильтра , i = 1 … M; • график семейства импульсных реакций построить в трехмерных координатах; • полученные результаты представить преподавателю. Таблица 1. Некоторые функции MATLAB randn генератор белого шума max вычисление максимума abs вычисление модуля figure см.п.2.4.1 subplot см.п.2.4.2 plot см.п.2.4.3 title выводит название графика xlim устанавливает диапазон оси X fft вычисляет преобразование Фурье zeros формирует массив нулей ones формирует массив единиц conv вычисляет свертку двух векторов semilogy см.п.2.4.4 plot3 см.п.2.4.6 grid управляет отображением сетки графика ylim устанавливает диапазон оси Y xlabel выводит подпись оси X ylabel выводит подпись оси Y angle вычисляет аргумент комплексного числа floor округление до ближайшего целого length возвращает размер вектора Таблица 2. Способы отображения линий Тип линии Тип точки Цвет Непрерывная - Штриховая - - Двойной пунктир : Штрих-пунктирная -. Точка . Плюс + Звездочка * Кружок о Крестик х Желтый y Фиолетовый m (magenta) с+к Голубой c (cian) с+з Красный r Зеленый g Синий b Белый w Черный k blak Примеры результатов работы программ Рис.1. К варианту 1, параметры: длина реализации 128, коэффициент обратной связи 0.95 Рис.2. К варианту 2, параметры: длина реализации 128, коэффициент обратной связи -0.9 Рис.3. К варианту 3, параметры: длина реализации 64, число коэффициентов фильтра 5 Рис.4. К варианту 4, параметры: длина реализации 128, число коэффициентов фильтра 17 Рис.5. К варианту 5, параметры: длина реализации 64, число коэффициентов фильтра 11 Рис.6. К варианту 6, параметры: длина реализации 128, минимальный КОС -0.9, максимальный КОС 0.95, число характеристик 10 Рис.7. К варианту 7, параметры: длина реализации 128, минимальный КОС -0.9, максимальный КОС 0.95, число характеристик 10 РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА 1. Потемкин В.Г. MATLAB 5 для студентов.–М.:ДИАЛОГ‑МИФИ, 1998.- 314 с. 2. Потемкин В.Г. Система MATLAB. –М.:ДИАЛОГ‑МИФИ, 1997.
«Сценарии, функции и графические средства среды MATLAB 5.x» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot