Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
INF_metodichka4.doc
Скачиваний:
6
Добавлен:
10.08.2019
Размер:
307.71 Кб
Скачать

Министерство образования и науки Российской Федерации

ГОУ ВПО Саратовский государственный технический университет

ПРОГРАММИРОВАНИЕ В ИНТЕРАКТИВНОЙ

СИСТЕМЕ MATLAB

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

к лабораторной работе

по дисциплинам «Информатика» и «Информационные технологии»

для студентов специальности 210601 и 210700.62

Одобрено

Редакционно-издательским советом

Саратовского государственного

технического университета

Саратов 2012

Цель работы: изучение функциональных возможностей системы математических расчетов MATLAB.

  1. Основные теоретические положения

1.1 Пакет программ matlab.

Система MATLAB - является интерактивной системой для выполнения инженерных и научных расчетов, ориентированной на работу с массивами данных. MATLAB поддерживает выполнение операций с векторами, матрицами и массивами данных, реализует сингулярное и спектральное разложения, вычисление ранга и чисел обусловленности матриц, поддерживает работу с алгебраическими полиномами, решение нелинейных уравнений и задач оптимизации, интегрирование, решение дифференциальных уравнений, построение трехмерных поверхностей и т.д. [2,3].

Отличительные особенности пакета MATLAB:

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

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

  3. Язык MATLAB специально предназначен и особенно эффективен при решении научно-технических задач, численном моделировании систем и процессов.

  4. Язык MATLAB не приспособлен для создания программ символьных вычислений и в то же время значительно удобнее и эффективнее при написании программ численного моделирования.

Справочные и управляющие команды и функции:

Demo - демонстрация возможностей системы;

Help - справка о командах и функциях системы;

Lookfor - поиск ключевого слова;

Which - справка о пути доступа к функции или файлу;

Save - выгрузка переменных из рабочей области на диск;

Load - загрузка переменных в рабочую область;

Clear - удаление всех переменных из рабочей области;

Delete - удаление файлов;

Keyboard - переключение на работу с клавиатуры;

Return - возврат из режима Keyboard.

Форматы вывода числовой информации:

Format short - пять значащих десятичных цифр. Пример:

>> format short;

>> c=4/27

c = 0.1481

Format long - 16 значащих десятичных цифр. Пример:

>> format long;

>> c=4/27

c = 0.14814814814815

Format rat - дает представление о форме рационального дробного числа.

Операторы, константы, служебные символы и переменные:

Арифметические операторы: сложение (+), вычитание (-), умножение (*), деление (/), возведение в степень (^), транспонирование (' ) . Приоритет: (^), (/), (*), (+), (-).

Логические операторы: меньше (< ), больше ( > ), меньше или равно (<= ), больше или равно (>= ).

Специальные символы: присвоение (=); формирование векторов и матриц ( [ ] ); десятичная точка; запятая - для отделения операторов; точка с запятой - для отделения строк матриц или массивов и для подавления вывода на экран результатов; логический конец строки (%); результаты выполнения последней операции (ans); мнимая единица (i); бесконечность (inf); знак π (pi);

Математические функции: abs (x) - абсолютное значение; sqrt (x) - квадратный корень; exp (x) - экспонента; log (x) -натуральный логарифм; log10 (x) - логарифм по основанию 10; sin (x) - синус; sinh (x) -гиперболический синус; cos (x) - косинус; cosh (x) - гиперболический косинус; tan (x) - тангенс; tanh (x) - гиперболический тангенс; cot (x) - котангенс; coth (x) - гиперболический котангенс.

Пример использования встроенных функций:

>>abs(2+3i)

ans = 3.6056

Операции с полиномами: roots - вычисление корней полинома; poly - построение вектора коэффициентов полинома по заданному вектору его корней; ployval - вычисление значений полинома по заданному значению аргумента; polyfit - аппроксимация данных полиномом; conv - произведение полиномов. Пример нахождения корней полинома:

р = 4x4 – 7x2 + 11x –1

>> format short;

>> p=[4 0 -7 11 -1];

>> roots(p)

ans = -1.8253

0.8642 + 0.8169i

0.8642 - 0.8169i

0.0968

Оформление результатов расчета: plot (x,y) - построение графика в декартовых координатах; text - размещение надписи в заданном месте графического окна; title - заголовок графика; xlabel - определение горизонтальной оси; ylabel - определение вертикальной оси; plot3 - построение трехмерного графика в виде набора линий пересечения плоскостей. Пример построения графиков двух функций одной переменной y1 = sin(x) и y2 = log(x)-1:

>> x=0.5:0.01:10;

>> y1=sin(x);

>> y2=log(x)-1;

>> plot(x,y1,x,y2)

Рис.1.

Трехмерная графика.

Основными функциями построения графиков поверхностей в системе MATLAB являются plot3, mesh, surf. Поверхность z=f(x,y) определяется как z-координаты точек над координатной плоскостью x0y. Перед использованием какой-либо из этих функций необходимо создать матрицы x и y, состоящие из повторяющихся строк и столбцов х-, у-координат соответственно. Это делается с помощью функции meshgrid(x,y), которая преобразует векторы в матрицы. Рассмотрим пример использования команды mesh:

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

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

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

>> mesh(x,y,z)

Рис.2.

Функции вычисления определенных интегралов: trapz - интегрирование методом трапеций; quad - интегрирование методом Симпсона.

Функции задания матриц и векторов: magic(n) – задает матрицу n×n, у которой сумма всех строк, всех столбцов и всех диагоналей одинакова. Например:

>> M=magic(5)

M =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

Для формирования единичной матрицы размера n×n служит команда eye(n):

>> E=eye(3)

E =

1 0 0

0 1 0

0 0 1

Пример формирования матрицы случайных чисел размера 3×3:

>> R=rand(3)

R =

0.9501 0.4860 0.4565

0.2311 0.8913 0.0185

0.6068 0.7621 0.8214

Элементы программирования MATLAB

Для программирование в среде MATLAB применяются специальные операторы: присвоения, условные и цикла.

Оператор присвоения «=» предназначен для нового значения переменной, а также для присвоения значения, вычисляемой функции.

Условный оператор «if…end» (рис.3а) записывается в виде:

>> if <действие>

<действие>

end.

а) б)

Рис.3.

Под действием понимается любое выражение или последовательность выражений. Условие – любая логическая конструкция, использующая оператор сравнения. В качестве условного оператора, в MATLAB используется еще один оператор «if…else…end» (рис.3б), записываемый как:

. >> if <условие>

<действие>

else <действие>

end.

Оператор цикла с предусловием «while… end» (рис.4) имеет вид:

.

>>while <условие>

<действие>

end.

Рис.4.

Пример. i=0

while i<=10

x=i/10;

c=cos(x);

disp([x,c]) – вывод в виде таблицы

i=i+1;

end.

Оператор цикла с параметрами имеет вид

>>for <имя переменной>=<начальное значение>

<действие>

end.

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