Поиск по базе сайта:
Лабораторная работа №1 Простые вычисления в matlab рекомендуемая литература : Дьяконов В. Matlab 6 1 5 Simulink 4 Основы применения. М.: Солон-пресс, 2004, 768 с icon

Лабораторная работа №1 Простые вычисления в matlab рекомендуемая литература : Дьяконов В. Matlab 6 1 5 Simulink 4 Основы применения. М.: Солон-пресс, 2004, 768 с




Скачати 160.64 Kb.
НазваЛабораторная работа №1 Простые вычисления в matlab рекомендуемая литература : Дьяконов В. Matlab 6 1 5 Simulink 4 Основы применения. М.: Солон-пресс, 2004, 768 с
Дата конвертації21.11.2012
Розмір160.64 Kb.
ТипЛабораторная работа

Лабораторная работа №1

Простые вычисления в MATLAB


Рекомендуемая литература:

  1. Дьяконов В. MATLAB 6/6.1/6.5 Simulink 4/5. Основы применения. М.:СОЛОН-Пресс, 2004, 768 с.

  2. Дьяконов В. MATLAB 6. СПб: Питер, 2001, 592 с.

  3. Дьяконов В. Simulink 4. СПб: Питер, 2002, 528 с.

  4. Дьяконов В. и др. MATLAB. Анализ, идентификация и моделирование систем. СПб: Питер, 2002, 448 с.

  5. Дьяконов В. и др. MATLAB. Обработка сигналов и изображений. СПб: Питер, 2002, 608 с.

  6. Дьяконов В. и др. MATLAB. Математические пакеты расширения. СПб: Питер, 2001, 480 с.

  7. Гультяев А.. Визуальное моделирование в среде MATLAB СПб: Питер, 2000, 432 с.


Содержание отчета по каждой работе:

  1. Название работы, задание в соответствии с вариантом.

  2. Программа.

  3. Результаты выполнения программы на ПК.

  4. Выводы.


Подготовка к работе

По указанной литературе изучить:

  • системное меню редактора MATLAB,

  • основные системные команды,

  • правила ввода команд и данных,

  • правила вывода результатов,

  • правила вывода результатов в виде двумерных графиков,

  • правила отладки программ.

  • Разработать алгоритмы и составить программы решения задач из варианта задания.


Контрольные вопросы

  1. Структура окна редактора MATLAB.

  2. Правила ввода команд.

  3. Правила ввода функций и операндов.

  4. Правила ввода выражений.

  5. Организация циклов.

  6. Правила ввода комментариев.

  7. Правила просмотра результатов операций.

  8. Правила создания двумерных графиков.

  9. Запуск и отладка программ.


Задание к работе

Задача 1.

  1. Ввести текст в виде комментария, как заглавие программы.

  2. Ввести исходные данные.

  3. Задать изменение аргумента.

  4. Вычислить значения функций 1 и 2 для аргумента в заданном интервале.

  5. Вывести графики функций одновременно на одном графике в декартовых координатах. Для разных графиков использовать разный тип линий.

Задача 2 .

  1. Пункты 1...4 задачи 1.

  2. Вывести графики функций в двух подокнах на одном графике. Графики в столбиковом формате.



Варианты заданий



Функция 1

Функция 2

a

b

h

1

y = sin(x)

z= exp(x+3)/5000 - 1

-2 π

2 π

π /20

2

y = cos(x)

z = 0.00025e3-x - 0.6

-2 π

2 π

π /20

3

y = |tg(x)| + 0.1

z = (1+x)6

-2 π

2 π

π / 20

4

y = (x2-1)/15

z = 1+sin(x)

-2 π

2 π

π /20

5

y = (x3-2)/15

z = 5cos(x)

-2 π

2 π

π /20

6

y = x2 - 10

z = 0.025exp(-1.2x)

-5

5

1

7

y = 3sin(x)

z=0.015x3

-5

5

1

8

y = 4sin(x)

z = 0.05x2

1

10

1

9

y = 6sin(x)

z = 0.01x3

-10

10

1

10

y = 2+cos(x)

z = - 0.05(x2 + 10cos(x))

-8

8

1

11

y = sin2(x/3)

z = 0.01(x2 - 40sin(x))

-8

8

1

12

y = cos3(x)

z = sin(x) + sin(2x)

- π

π

π /8

13

y = 0.5x + cos2(x)

z = sin2(x) + cos(x)

- π

π

π /8

14

y = sin(x) + cos2(2x)

z = x(0.5 + x)exp(0.1x)

- π

π

π /8

15

y = |sin(x)|exp(x/2)

z = 5x - x1.5+sin(x)

0

5

0.5


^ Методические указания

Текстовые пояснения в программу вводятся, как комментарий. Он начинается с символа %, который располагается в первой позиции строки. Комментарий - это текст! В него не надо включать символы операций.

Для формирования XY графика необходимо:

  • Задать аргумент в формате x=<нач. значение>:<шаг>:<нач. значение>.

  • Вычислить функцию, например, y=f(x).

  • Вывести график процедурой plot(x,y,s). Процедура рисует график прямыми линиями между вычисленными точками. Здесь s - строковая константа, задающая параметры линии, ее можно пропускать. Определены следующие значения s:

    Цвет линии

    Тип точки

    Тип линии

    y

    желтый

    .

    точка

    -

    сплошная

    m

    фиолетовый

    o

    кружок

    :

    двойной пунктир

    c

    голубой

    x

    крест

    -.

    штрих пунктир

    r

    красный

    +

    плюс

    --

    штрих

    g

    зеленый

    *

    звездочка







    b

    синий

    s

    квадрат







    w

    белый

    d

    ромб







    k

    черный

    v

    треугольник вверх













    <

    треугольник влево













    >

    треугольник вправо













    p

    пятиугольник













    h

    шестиугольник







  • Если на одном графике нужно отобразить несколько функций, например, y1=f(x) и y2=f(x)., то они вначале вычисляются, а затем выводятся процедурой plot(x,y1,'s1',x,y2,'s2...), в которой в качестве параметров для каждой функции следуют группы <аргумент, функция, строка типа линии>.

  • Для создания в графическом окне нескольких подокон для вывода графиков используется процедура subplot(m,n,p), где m - число подокон в окне по горизонтали, n - по вертикали, p - номер используемого подокна (нумерация с 1).

  • Для формирования графика в столбиковой форме нужно использовать процедуру bar(x,y). При выводе такого графика в подокно строка программы имеет вид subplot(m,n,p), bar(x,y).


^ Пример выполнения

Задание

Функция 1 y = 2sin(x)

Функция 2 z = 0.02x3

Начальное значение аргумента a = -2

Конечное значение аргумента b = 2

Шаг изменения аргумента h = /20

Задача 1


% Задача 1

% Диапазон и шаг

a=-2*pi;

b=2*pi;

h=pi/20;

% Задание аргумента

X=a:h:b;

%Расчет функций

Y=2*sin(X);

Z=0.02*X.^3;

% Вывод графиков с одинаковым типом линии в окно 1

figure(1);

plot(X,Y,X,Z);

% Включим координатную сетку

grid on

% Вывод графиков с разными типами линии в окно 2

figure(2);

plot(X,Y,'-',X,Z,':');

% Включим координатную сетку

grid on





Задача 2


% Задача 2

% Диапазон и шаг

a=-2*pi;

b=2*pi;

h=pi/20;

% Задание аргумента

X=a:h:b;

%Расчет функций

Y=2*sin(X);

Z=0.02*X.^3;

% Вывод графика 1 в виде столбиков в подокно 1

subplot(2,1,1),bar(X,Y);

% Вывод графика 2 в виде столбиков в подокно 2

subplot(2,1,2),bar(X,Z);



^

1.1.Краткие сведения


Система MATLAB (от слов Matrix Laboratory — матричная лаборатория) создана специалистами фирмы Math Works Inc. с привлечением большого количества партнеров. Существует она около двадцати лет. Это лицензионный программный продукт высочайшего уровня, который постоянно совершенствуется, что проявляется в появлении новых более совершенных версий. Так, в 2001 году фирма Math Works выпустила в свет версию MATLAB 6.1, ставшую явным лидером в классе подобных систем и получившую развитие в последующей версии MATLAB 6.5 (Release 13). Летом 2004 года фирмой Math Works объявлено о начале поставок MATLAB 7.0 (Release 14).

Размещается система MATLAB 6.5 (Release 13) на трех компакт-дисках и ее рекомендуется устанавливать на персональный компьютер на базе процессоров типа Pentium II, Pentium III, Pentium IV, Xeon, AMD Athlon, Athlon XP при условии, что оперативная память имеет объем не менее 128 Mбайт (предпочтительнее 256 Mбайт). Полная версия системы занимает объем памяти на жестком диске свыше 1,1 Гбайт. Совмещается с Microsoft Word 8.0 (Office 97), Office 2000 или Office XP. В то же время, Office 95 не имеет полной поддержки. Установка системы MATLAB осуществляется в соответствии с инструкцией, расположенной на первом компакт-диске в файле install_guide.pdf (книга Installation Guide for Windows). Отметим, что вся документация системы MATLAB выполнена на английском языке.

Система MATLAB представляет собой язык программирования высокого уровня, предназначенный для инженерных и научных вычислений и создания средств моделирования различных устройств и систем. Базируется на алгоритмах матричных вычислений с выполнением операций над наборами векторов, что определяет основное отличие этой системы от других известных пакетов — MathCAD, Maple, Mathematika и других. За счет матричного и векторного представления данных разработчикам удалось существенно повысить скорость вычислений, экономно использовать ресурсы памяти и обеспечить высокую точность расчетов. В MATLAB реализован модульный принцип построения с широкими возможностями модификации и расширения, что подтверждает состав этого продукта, а именно: несколько десятков пакетов прикладных программ и более двух сотен приложений и расширений, богатейшая библиотека функций (свыше 800), а также огромный объем документации, насчитывающий десятки тысяч страниц.

Для удобства пользования вся система MATLAB поделена на разделы, оформленные в виде пакетов программ, наиболее общие из которых образовали ядро. Другие пакеты объединены или существуют индивидуально в виде так называемых Toolboxes.
^

1.2. Состав пакета Matlab


В несколько усеченном (более полная схема приведена в работе [1]) виде структуру пакета (системы) Matlab можно представить как показано на рис.1.








Рис.1


Как видно из рис.1, Matlab состоит из 2-частей – собственно пакета Matlab, предназначенного для решения вычислительных задач, и пакета Simulink, предназначенного для имитационного моделирования.

Каждый из этих пакетов обладает мощной библиотекой функций. Часть функций встроены в ядро пакета (например, тригонометрические функции sin, cos и т.п.) и выполняются предельно быстро. Значительная часть функций вынесена во внешнюю часть (Extensions) – эти функции выполняются медленнее. Однако в наличии внешней части есть большое достоинство: система открыта для пользователя. Т.е. пользователь может писать собственные функции (на языках пакета Matlab или C/C++) и внедрять их в пакет Matlab.

Наконец, ряд функций с помощью специального интерфейса объединены в «субпакеты» - это Toolboxes в Matlab и Blocksets в Simulink. Такое объединение удобно при решении задач определенного класса. Например, в задачах цифровой обработки сигналов часто встречаются функции преобразования Фурье, преобразования Гильберта, решения систем линейных уравнений и т.п. С их применением решаются задачи спектрального и корреляционного анализа, идентифиации систем и т.д. Есть и особого рода субпакеты – это «чужие» разработки, включенные в Matlab. Пример – пакет Symbolic Math для символьных вычислений, позволяющий упрощать аналитические выражения, брать интегралы и т.п.
^

1.3. Документация и литература по Matlab


1.3.1. Help

Помимо обычных и довольно многочисленных книг по покету Matlab, обращаем внимание на мощный, хорошо развитый (и особенно хорошо структурированный в последних версиях пакета) режим помощи (Help). Он просто незаменим в работе, даже если у вас есть литература (которая быстро устаревает). Запомнить имена многочисленных функций Matlab’a, не говоря уже об их синтаксисе – дело непосильное для нормального человека. Это – естественная расплата за мощь пакета, позволяющего осуществлять сложнейшие математические операции с помощью всего лишь одной-двух кратких команд.

1.3.2. Demos

В разделе Help имеется очень полезный подраздел Demos. Начиная с версии Matlab 6.0, вначале раздела Demos даны несколько мультимедийных уроков, обучающих использованию интерфейса пакета Matlab. Затем следует несколько тематических подразделов, среди которых нам особенно интересны:

Toolboxes>Symbolic Math

Toolboxes>Filter Design

Toolboxes>Image Processing

Toolboxes>Signal Processing

Toolboxes>Wavelet

Чрезвычайно полезно воспользоваться этими разделами для первоначального беглого знакомства с возможностями Matlab.

1.3.3. Ориентация на матричные операции

Принципиальной особенностью математического пакета Matlab является ориентация на матричные вычисления. Это, может быть, не очень удобно для тех, кто плохо знаком с основами матричной алгебры. Но зато такой подход очень хорошо подходит для описания цифровых систем обработки сигналов, оперирующих, в сущности, с дискретными последовательностями чисел.

Любопытным следствием такого подхода является то, что «обыкновенное» единичное число, именуемое скаляром, в Matlab’e также представляется как вектор - единичного размера.

Другое, значительно более важное, следствие матричного подхода – пользователю нужно быть чрезвычайно внимательным при выполнении операций умножения (*), деления (/), возведения в степень (^). Например, при простых вычислениях, где участвуют скалярные величины, можно использовать оператор умножения * в его привычном смысле – как оператор умножения числа на число. Однако если речь идет о перемножении векторов, тогда применение знака * дает результат в виде матрицы (при условии, что один из векторов – столбец, а другой - строка), а применение знака .* (знак умножения с точкой перед ним) дает новый вектор, элементы которого являются результатом перемножения соответствующих элементов множителей (при условии, что оба вектора – столбцы или строки).

Еще более сложно “устроена” операция деления: здесь различают деление слева направо (/ или ./) и справа налево (\ и .\).

^ 1.3.4. Главное окно

По окончании загрузки пакета Matlab 6.0 открывается главное окно (рис.2), составными частями (фреймами) которого являются:

  • командное окно (Command Window),

  • окно быстрого запуска субпакетов (Launch Pad),

  • окно рабочего пространства (Workspace),

  • о
    кно истории команд (Command History),

  • окно текущей директории (Current Directory).

Рис.2



^ 1.3.5. Командное окно и простейшие операции в нем

Среди перечисленных окон главную роль играет командное окно, позволяющее производить вычисления в диалоговом режиме:

  • в строке с приглашением в виде знака >> набирается имя команды или вычисляемое математическое выражение, после чего нажимается клавиша ввода (Enter);

  • результат вычислений отображается в командном окне.

Вводимую в строке команду можно редактировать обычными для MS DOS и Windows способами: удалять символы слева и справа от курсора клавишами Backup и Delete, перемещаться по строке влево и вправо клавишами со стрелками и .

Однако есть интересная особенность: нажатием клавиш со стрелками “вверх” и “вниз” ( и ) можно вызвать из стековой памяти отдававшиеся ранее команды. Это удобно, поскольку экономит время при работе с длинными строками-командами.

И еще одно замечание, касающееся реакции окна на ввод команды. Если в конце строки-команды поставить точку с запятой (;), тогда окно не откликается на ввод команды - результат вычислений не отображается на мониторе. При отсутствии точки с запятой в конце строки-команды окно откликается - результат вычислений отображается на мониторе.

Пример:

>> a = 2;

>> a = 2

a = % отклик командного окна на введенную команду

2

>>

^ 1.3.6. Прочие окна-фреймы

Остальные окна-фреймы играют служебную роль.

С
реди них на первое место “просится” окно рабочего пространства (Workspace). Полезность его в том, что оно позволяет контролировать тип и размерность переменных, участвующих в вычислениях (рис.3).

Рис.3


На рис.3 показана ситуация, когда в вычислениях задействованы: скаляр a, двухэлементные векторы-строки b и d, четырехэлементная квадратная (2х2) матрица c, символьная переменная e.

Окно быстрого запуска субпакетов (Launch Pad) удобно, поскольку позволяет легко находить и запускать субпакеты из раздела Toolboxes. На рис.4 показана ситуация, в подразделе Signal Processing Toolbox найден субпакет SPTool (Signal Processing Tool) – для запуска этого субпакета достаточно дважды щелкнуть по имени субпакета.

(Заметим впрочем, что субпакеты можно запускать и из командного окна. В данном конкретном случае, например, достаточно в командной строке набрать команду >>sptool).

Р
ис.4


В
результате на экране монитора откроется новое окно (рис.5), предоставляющее удобный интерфейс для фильтрации и спектрального анализа акустических сигналов.

Рис.5


О
кно истории команд представляет собой дневник, в котором в хронологическом порядке хранятся все отдававшиеся когда-либо команды (рис.6). Полезность этого окна становится

Рис.6


понятной после попытки перетащить мышкой команду из окна-истории в окно команд.

О
кно текущей директории (Current Directory) выполняет очень простую и понятную функцию: в нем видны папки и файлы, находящиеся в текущей, т.е. рабочей директории (рис.7).

Рис.7


Очистку окон - командного, рабочего пространства и истории – проще всего производить из позиции меню главного окна: Edit|Clear…








Схожі:




База даних захищена авторським правом ©lib.exdat.com
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації