Пример выполнения задания 3.




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

 

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

СИСТЕМЕ 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.

 

2. ЗАДАНИЕ НА РАСЧЕТ

 

Задание 1. С помощью MATLAB провести численный расчет следующих интегралов (по вариантам).

Таблица 1

Вариант Интеграл Вариант Интеграл
   
   
   
   
   
   
   

 

 

Пример решения задания 1.

Вычислить определенный интеграл от функции y(x) = x3+x2-1 в пределах от –1 до 1.

 

>> x=-1:0.1:1;

>> y=x.^3+x.^2-1;

>> plot(x,y)

>> int=trapz(x,y)

int =

-1.3300

 

 

Рис.5

 

Задание 2. Составить программу численного решения трансцендентного уравнений по вариантам (см. табл.2). Построить функцию в символьных переменных.

Таблица 2

Уравнение Уравнение
  x - 10sin(x) = 0   (0.2x)3 = cos(x)
  lg(x + 5) = cos(x)   1-10sin(x)=0
  xsin(x) - 1 = 0   2-x = sin(x)
  10cos(x) - 0.1x2 = 0   2x2 - 5 = 2x
  2lg(x + 7) - 5sin(x) = 0   ex-cos(x)=0
  5sin(2x) = (1 - x)0.5   8cos(x) - x = 6
  3sin(x) = 0.7x - 0.9   sin(x) -0.2x = 0
  1.2 – ln(x) = 4cos(2x)   4cos(x) + 0.3x = 0
  ln(x + 6) = 2sin(x - 1.4)   (4x+7)0.5=3cos(x)
  4x4 - 6.2 = cos(0.6x)   2-x = 10-0.5x2

 

Пример решения трансцендентного уравнения на MATLAB.

Уравнение F(x) = sin(2x) – ln(x) имеет один вещественный корень на отрезке [1.3; 1.5] ζ = 1.39946289 при ε = 10-4.

Пример программы на MATLAB:

>>x = 0.5:0.01:2;

>>format short;

>>f = sin(2.*x)-log(x);

>>p=polyfit(x,f,5);

>>roots(p)

ans = 1.3994

>> syms x;

>> f = sin(2*x)-log(x);

>> ezplot(f) Рис.6.

Задание 3. Решить систему алгебраических уравнений по вариантам задания.

Система уравнений Система уравнений
   
   
   
   
   
   
   
   

 

Пример выполнения задания 3.

Решим систему алгебраических уравнений

>> syms x y;

>>[x,y] = solve(‘3*x+4*y=18’,’2*x+5*y=19’)

Ans x = 2 y = 3.

 

Задание 4. Найти производную функции в символьных переменных по вариантам задания:

Таблица 3

Уравнение Уравнение
  sin(x)/cos(x)   exp(x)/arcsin(x)
  tg(x)/exp(x)   ln(x)/arcsin(x)
  ln(x)/tg(x)   arctg(x)/cos(x)
  arcsin(x)/ln(x)   1/arctg(x)
  arccos(x)/tg(x)   exp(x)/arcos(x)
  cos(x)/sin(x)   ax/cos(x)
  arccos(x)/arcsin(x)   sin(x)/exp(x)
  arcsin(x)/arccos(x)   cos(x)/exp(x)
  ctg(x)/ln(x)   ln(x)/cos(x)
  ln(x)/ctg(x)   ctg(x)/exp(x)

 

Пример выполнения задания 4.

Найти производную функции sin(5x)

>> syms x;

>> f = sin(5*x);

>> diff(f)

ans = 5*cos(5*x)

 

3. СОДЕРЖАНИЕ ОТЧЕТА

3.1 Наименование и цель работы.

3.2 Пример выполнения задания 1-4.

3.3 Выводы

3.4 Источники информации

 

Литература

1. Потемкин В.Г.. MATLAB. Справочное пособие. - М.: Диалог-МИФИ, 1997. - 350 с.

2. Глушаков С.В., Жакин И.А., Хачиров Т.С. Математическое моделирование: Учебный курс. – М.: АСТ, 2001. – 524 с.

 

 

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

СИСТЕМЕ MATLAB

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

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

 

Составил КОМАРОВ Вячеслав Вячеславович

 

Рецензент А.А. Димитрюк

 

Корректор Д.А.Козлова

 

 

Подписано в печать Формат 60х84 1/16

Бум. тип. Усл. печ. л. Уч. – изд. л.

Тираж 100 экз. Заказ



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: