Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MatLab_1

.doc
Скачиваний:
27
Добавлен:
02.04.2015
Размер:
37.89 Кб
Скачать

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

«Изучение основных правил работы в интерактивном режиме системы MatLab».

MatLab – одна из популярных и тщательно проработанных систем автоматизации математических расчетов. Этот пакет широко используется во всем мире при решении задач, связанных с матричными вычислениями. Название пакета образовано путем сокращения от MATrix LABoratory (матричная лаборатория). Операции и команды в MatLab достаточно естественны и записываются аналогично математическим формулам на бумаге.

Система MatLab может быть отнесена к современной и высокопроизводительной системе программирования, ориентированной на технические расчеты.

Основные отличительные особенности системы MatLab:

  1. Основным элементом, которым оперирует система является двухмерный массив матрица. Даже число представляется как матрица размером 1х1. Это позволяет эффективно решать многие технические вычислительные задачи.

  2. MatLab – интерактивный язык программирования, содержащий множество команд, реализующих готовые алгоритмы вычислений. Большинство команд представлены в виде текстовых файлов с расширением «.m», могут редактироваться пользователем. Пользователь может добавлять свои команды и функции.

  3. MatLab обеспечивает интерактивную работу в режиме командной строки, что практически соответствует мощному калькулятору, и в режиме выполнения программ m-файлов. Это существенно упрощает понимание работы системы и отладку программ.

  1. Ядро пакета MatLab образуют встроенные функции, входящие в раздел BIN (Built IN functions). MatLab содержит справочник HELP по встроенным функциям.

Задание 1.

  1. Построить вектор-строку с параметрами – от минус последняя цифра № студенческого до плюс последняя цифра № студенческого с шагом – 0,2 (Например: № студенческого 04/5050 – получаемый интервал – от –10 до +10).

  2. Определить длину вектора.

  3. Преобразовать вектор-строку в вектор-столбец.

Задание 2.

  1. Создайте матрицу 4*4: строка простых чисел; строка месяц и день рождения; строка год рождения; строка № студенческого. Строки можно располагать в любом порядке (Пример: Дата рождения – 5 марта 1987года, № студенческого – 04/5050. получаемая матрица:

1 9 8 7 – год рождения

3 5 17 23 – простые числа

5 0 5 0 – № студенческого

0 5 0 3 – день и месяц рождения).

  1. Создайте матрицу, транспонированную от исходной, и с уменьшенным каждым элементом на 7.

(Транспонирование меняет строки и столбцы.)

  1. Перемножьте данные матрицы по правилам вычисления матриц и поэлементно. Сравните полученные результаты.

Задание 3.

  1. Построить на одной сетке графики экспоненциальных функций с различными коэффициентами.

y=А*exp(-В*i);

  1. Построить на новой сетке графики затухающих гармонических колебаний с различными коэффициентами:

Y=А*exp(-В*i).*cos(2*pi*i+Fi);

  1. В полярной системе координат построить свёртывающуюся спираль с различными коэффициентами;

  2. Создать синусоидную и косинусоидную матрицы и построить в 3-х мерной плоскости график суммы этих двух функций (интервал переменной можно задать от –10 до 10 с шагом 0,2.

Литература.

  1. Ануфриев И. MatLab 5.3/6.х – самоучитель, «ВВХВ-Петербург»,С-Пб 2003г. 722стр.;

  2. Дьяконов В.П. Справочник по применению системы MatLab – М., 1993г.. 112стр.

  3. Всемирнова Е. Информатика. Учебное пособие.-:СПб, ГУАП

Приложение.

Некоторые справочные сведения по применению системы MatLab

  1. Формирование векторов и матриц.

  2. i=[1 2 3 4 5] - создает вектор-строку из пяти элементов.

  3. i=[1;2;3;4;5] - создает вектор-строку из пяти элементов.

  4. i=1:0.5:20 - создает вектор-строку из равноотстоящих на величину 0.5 элементов в диапазоне от 1 до 20.

  5. i=(1:0.5:20)’ - создает вектор-строку из равноотстоящих на величину 0.5 элементов в диапазоне от 1 до 20.

Символ «» обозначает эрмитово сопряжение – сочетание транспонирования и комплексного сопряжения. Так как элементы вектора вещественные, комплексное сопряжение ничего не меняет.

Для указания транспонирования без комплексного сопряжения необходимо добавить точку – «.’».

Команда L=length(x) возвращает длину вектора х.

Точка используется и для указания поэлементных операций умножения и деления матриц.

Y=A*B - умножение матриц A и B по правилам матричной алгебры.

Y=A.*B - перемножает одноименные элементы матриц А и В.

  1. Самый простой способ формирования матриц заключается в непосредственном вводе их элементов (по строкам) с клавиатуры – например: А= [1 2 3; 4 5 6; 7 8 9], получается матрица А размером 3*3:

  2. А= 1 2 3

4 5 6

7 8 9.

  1. Следующие матричные функции обеспечивают генерацию некоторых наиболее распространенных видов матриц размерностью M на N:

  2. zeros(M,N) – генерация матрицы с нулевыми элементами,

  3. ones(M,N) – генерация матрицы с единичными элементами,

  4. rand(M,N) – генерация матрицы с элементами, имеющими случайные значения,

  5. eye(M,N) – генерация матрицы с единичными диагональными элементами.

  1. Операции с многочленами и матрицами.

  2. Система MatLab имеет функцию roots (P), возвращающую вектор, коэффициенты которого являются корнями заданного многочлена Р.

  3. Многочлен задается в виде вектора коэффициентов при переменной, начиная со старшего – например: S(x)=x5+8x4-31x3+80x2+94x-20 в MatLab будет записан:

>> S=[1 8 -31 80 94 -20]

    1. S =

1 8 -31 80 94 -20

>> roots(S) – решение заданного многочлена:

ans =

-11.3026

2.0475 + 2.3585i

2.0475 - 2.3585i

-0.9779

0.1855 ,

где ans—название результирующей переменной по умолчанию.

Операции с матрицами можно выполнять по правилам вычисления матриц, а так же выполнять действия по элементно – сравните:

>> A=[1 2 3;4 5 6;1 1 1];

>> B=[1 2 1; 3 3 3; 3 2 1];

>> C=A*B

C =

16 14 10

37 35 25

7 7 5

>> D=A.*B

D =

1 4 3

12 15 18

3 2 1.

  1. Работа с графическими средствами.

  2. Основные операторы графики:

  3. plot – построение графика в линейном масштабе,

  4. polar – построение графика в полярной системе координат,

  5. mesh – построение графика трехмерной поверхности,

  6. plot3 – построение графика трехмерной поверхности,

  7. surf– построение графика трехмерной поверхности,

  8. text – вывод надписи в заданное место графика,

  9. title – задание титульной надписи,

  10. xlabel – задание надписи по х,

  11. ylabel – задание надписи по у,

  12. grid – задание пунктирной масштабной сетки,

  13. clg – очистка графического экрана,

  14. hold – сохранение предшествующих построений,

  15. shg – показ графического экрана,

  16. pause – задание паузы в вычислениях.

Если необходимо построить несколько графиков на одной картинке, то необходимо вставить команду «hold on». Все последующие графики будут накладываться на одну сетку. Отмена данной команды происходит повторным набором. Чтобы графики были различны, их можно рисовать разными линиями и разным цветом:

      1. Тип линий

Тип точек

Цвета

        1. Черта -

Плюс +

Красный r

Пунктир --

Звёздочка *

Зелёный G

Двоеточие :

Кружок о

Синий B

Штрих-пунктир -.

Крестик х

Белый W

  1. Примеры.

  1. Построить графики затухающих колебаний: x(t)=e-0.2tsin(t), y(t)=e-0.2tcos(t), где t изменяется от 0 до 10 с шагом 0,1. Выполнение этого задания должно выглядеть следующим образом:

  1. t=0:.1:10;

  2. x=exp(-.2*t)*sin(t);

  3. y= exp(-.2*t)*cos(t);

  4. plot(t,x,t,y), grid.

  1. Построить графики полярного уравнения логарифмической спирали r=e-0.2t и добавить к ней единичную окружность. Выполнение этого задания должно выглядеть следующим образом:

  1. t=0:.1:10;

  2. r=exp(-.2*t)

  3. polar(t,r),grid.

  4. Затем необходимо добавить:

  5. hold on;

  6. polar(t, ones(t)).

  1. Построить график трехмерной поверхности .

Выполнение этого задания должно выглядеть следующим образом:

>> [x,y]=meshgrid(-15:0.5:15);

>> R=sqrt(x.^2+y.^2)+eps;

>> z=sin (R)./R;

>> plot3(x,y,z),grid

Что бы график выглядел более гладким можно выбрать surf(x,y,z). если необходимо стереть грани и сделать график гладким необходимо набрать следующие команды:

>> surf(x,y,z);

>> shading interp.

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