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

Vychislitelnaya_matematika131016

.doc
Скачиваний:
6
Добавлен:
17.02.2016
Размер:
261.12 Кб
Скачать

Мы будем создавать командные файлы среды MATLAB в текстовом редакторе операционной системы Windows, который называется блокнот. Текстовый процессор Word для этой цели не подходит так как документ, созданный в среде Word содержит служебную информацию, её среда MATLAB не понимает. Обычно пользователь запускает блокнот, щелкая правой кнопкой мыши по экрану и выбирая в появившемся меню пункт Создать/Текстовый документ.

Можно также запустить блокнот с помощью команды

Рабочий стол/Пуск/программы/Стандартные/ Блокнот

или в окне сеанса MS DOS командой

notepad.exe имя_файла.

Как правило, администратор системы закрывает доступ пользователей к большинству файлов жёсткого диска, оставляя им для работы лишь несколько директорий, в которых можно выполнять операции с файлами и поддиректориями.

УЗНАЙТЕ У ПРЕПОДАВАТЕЛЯ ИМЯ ТОЙ ДИРЕКТОРИИ, В КОТОРОЙ СТУДЕНТАМ ВАШЕЙ ГРУППЫ РАЗРЕШАЕТСЯ РАБОТАТЬ С M-ФАЙЛАМИ, ЗАПУСТИТЕ ЭМУЛЯТОР КОМАНДНОЙ СТРОКИ И СОЗДАЙТЕ В НЕЙ ПОДДИРЕКТОРИЮ, НАЗВАНИЕ КОТОРОЙ СОВПАДАЕТ С ВАШЕЙ ФАМИЛИЕЙ, НАПРИМЕР, IVANOV. ЭТО БУДЕТ ВАША ЛИЧНАЯ ДИРЕКТОРИЯ. ПЕРЕХОД В ДРУГИЕ ДИРЕКТОРИИ ПРИВЕДЁТ К СНИЖЕНИЮ ОЦЕНКИ ЗА ЛАБОРАТОРНУЮ РАБОТУ!!!

Создайте файл myfile.m, содержащий следующие команды:

format long

3/7

format short

3/7

Сохраните файл myfile.m в папке, которую укажет преподаватель. После этого сделайте эту папку активной директорией среды MATLAB.

Например, команда среды MATLAB

>> cd

выводит на экран

C:\Documents and Settings\MATLAB\work,

а полное имя папки, указанной преподавателем – D:\mygroup\mydir. Наберите в командной строке среды MATLAB команду

cd D:\mygroup\mydir.

Если активна директория C:\Documents and Settings\MATLAB\work, а полное имя папки, указанной преподавателем - C:\Documents and settings\users\mygroup\Ivanov, то наберите в командной строке среды MATLAB команду

cd ..\..\users\mygroup\Ivanov.

Можно считать, что, команда cd в нашем случае выполняет переход в родительскую директорию директории work - это директория MATLAB, затем переходит в её родительскую директорию ( Documents and Settings), после чего выполняется переход последовательно в директории users, mygroup, Ivanov. На самом деле никаких переходов система не делает - если директория C:\Documents and Settings\MATLAB\work является активной, то конструкция

..\..\users\mygroup\Ivanov

представляет собой синоним имени C:\Documents and settings\users\mygroup\Ivanov. При другой конфигурации дерева директорий следует изменить аргумент команды cd. Не следует использовать в качестве аргумента команды cd имена папок, состоящие из нескольких слов, поскольку среда неверно их интерпретирует. Если Вы сделали ошибку в имени директории, то в командной строке среды MATLAB появится сообщение об ошибке. Например, пользователь набирает имя несуществующей директории:

>> cd abcd

??? Error using ==> cd

cannot CD to abcd ( Name is nonexistent or not a directory)

После смены активной директории всегда проверяйте, корректность выполнения команды. Наберите в командной строке среды MATLAB команду cd без аргументов - на экране должно появиться имя новой активной директории. Для того, чтобы запустить m-файл, надо набрать его имя ( без расширения m) в командной строке среды MATLAB:

>> myfile

Если Вы всё сделали правильно, то на экране появится десятичное представление дроби 3/7 с разной степенью точности.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ

«тюменский государственный нефтегазовый университет»

ИНСТИТУТ КИБЕРНЕТИКИ ИНФОРМАТИКИ И СВЯЗИ

Кафедра кибернетических систем

Направление 220400 – Управление в технических системах

ОТЧЁТ О ВЫПОЛНЕННОЙ ЛАБОРАТОРНОЙ РАБОТЕ №1

ПО ДИСЦИПЛИНЕ "ЧИСЛЕННЫЕ МЕТОДЫ"

ТЕМА. РЕШЕНИЕ ЛИНЕЙНЫХ, АЛГЕБРАИЧЕСКИХ И ТРАНСЦЕНДЕНТНЫХ УРАВНЕНИЙ

Выполнил Иванов А. Б., группа ....

___________

Проверил Ковалёв П. И.

Тюмень 2013

Цель лабораторной работы №1.

Овладение навыками решения алгебраических и трансцендентных уравнений в среде MATLAB.

Задание.

    1. Составьте и решите квадратное уравнение в среде MATLAB.

    2. Составьте и решите кубическое уравнение в среде MATLAB.

    3. Составьте и решите трансцендентное уравнение в среде MATLAB.

РЕШЕНИЕ КВАДРАТНОГО УРАВНЕНИЯ В СРЕДЕ MATLAB

Пример. Требуется решить квадратное уравнение x2 – 5 x + 6 = 0.

Решение. Запускаем среду MATLAB. В командной строке вызываем функцию roots:

>> roots ( [ 1, -5, 6 ] )

Аргументом функции roots служит массив-строка, образованный коэффициентами многочлена.

На экране появляется ответ:

ans=

2

3

Задание. Составьте и решите квадратные уравнения:

с двумя отрицательными корнями;

с двумя корнями разных знаков;

с совпадающими положительными корнями;

с совпадающими отрицательными корнями;

с комплексными корнями.

Напомним, что если x1, x2 – корни уравнения x2 + p x + q = 0, то x1+ x2 = - p x1 x2 = q (теорема Виета). Пример квадратного уравнения с мнимыми корнями: x2 + 1 = 0.

Задание. Приведите пример системы, математическая модель которой представляет собой квадратное уравнение. Исследуйте эту модель аналитическими методами. Решите уравнение в среде MATLAB.

РЕШЕНИЕ КУБИЧЕСКОГО УРАВНЕНИЯ В СРЕДЕ MATLAB

Задание. Составьте и решите несколько кубических уравнений.

Задание. Приведите пример системы, математическая модель которой представляет собой кубическое уравнение. Исследуйте эту модель аналитическими методами. Решите уравнение в среде MATLAB.

РЕШЕНИЕ ТРАНСЦЕНДЕНТНОГО УРАВНЕНИЯ В СРЕДЕ MATLAB

Пример. Требуется решить уравнение exp ( x ) = 2

Решение. Преобразуем уравнение так, чтобы в его правой части стоял 0: exp ( x ) - 2 = 0. Запускаем среду MATLAB. В командной строке вызываем функцию fzero:

>> fzero ( @(x) exp ( x ) - 2, 0)

Первый аргумент функции fzero описывает функцию, стоящую в левой части уравнения ( exp ( x ) - 2 ) и называет её аргумент (это делает конструкция @(x)). Второй аргумент функции fzero – начальное приближение. Метод решения уравнения похож на известный метод касательных, решение представляет собой результат последовательности итераций. На экране появляется ответ:

ans=

0.6931

(это приближённое значение натурального логарифма числа 2). Выбирая в качестве начальных приближений числа 1, 5, 10, 100 мы получим тот же ответ. Если ввести

>> fzero(@(x) exp ( x ) - 2, 1000)

то среда сообщает:

Error using ==> fzero

Function value at starting guess must be finite and real:

Ошибка в ходе использования fzero. Значение функции в точке начального приближения должно быть конечным и вещественным.

Среда воспринимает значение exp (1000) как бесконечное.

Задание. Составьте и решите с помощью функции fzero несколько квадратных уравнений. Опишите поведение среды при различных значениях начального приближения.

Задание Оцените наименьшее значение числа k для которого уравнение exp ( x ) = k x. имеет решение. Объясните вашу стратегию поиска числа k.

Если известно, что значения функции f ( x ) в точках a, b имеют разные знаки, то корень уравнения f ( x ) = 0, лежащий между a и b находят с помощью вызова функции fzero, вторым аргументом которой служит массив [ a, b].

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

Задание. Приведите пример системы, математическая модель которой представляет собой трансцендентное уравнение. Исследуйте эту модель аналитическими методами. Решите уравнение в среде MATLAB.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ

«тюменский государственный нефтегазовый университет»

ИНСТИТУТ КИБЕРНЕТИКИ ИНФОРМАТИКИ И СВЯЗИ

Кафедра кибернетических систем

Направление 220400 – Управление в технических системах

ОТЧЁТ О ВЫПОЛНЕННОЙ ЛАБОРАТОРНОЙ РАБОТЕ №2

ПО ДИСЦИПЛИНЕ "ЧИСЛЕННЫЕ МЕТОДЫ"

ТЕМА. ПРИБЛИЖЁННОЕ РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Выполнил Иванов А. Б., группа ....

___________

Проверил Ковалёв П. И.

Тюмень 2013

Цель лабораторной работы №2.

Овладение навыками исследования детерминированных систем с помощью обыкновенных дифференциальных уравнений в среде MATLAB.

Пример. Исследование падения частицы под действием постоянной силы тяжести в безвоздушном пространстве.

Задание

Частица (материальная точка) падает вертикально вниз в безвоздушном пространстве под действием постоянной силы тяжести. Постройте и исследуйте математическую модель системы.

Решение задачи

Система состоит из частицы, падающей в безвоздушном пространстве. На неё действует сила притяжения Земли.

Выберем систему координат так, чтобы плоскость Oxy совпадала с поверхностью Земли, ось Oz была направлена вертикально вверх.

Состояние системы в момент времени t описывается её скоростью v ( t ).

Параметры системы:

m – масса частицы;

    1. g – ускорение свободного падения.

    2. Начальное значение: скорость частицы в момент времени t = 0 равна v0.

    3. В силу второго закона Ньютона произведение массы частицы на её ускорение совпадает с равнодействующей всех сил, приложенных к частице, сила притяжения Земли пропорциональна массе частицы, коэффициент пропорциональности равен ускорению свободного падения:

    4. m dv / dt = - m g (1)

    1. (знак 'минус' в правой части указывает, что сила тяжести направлена вниз). Преобразуем уравнение (1) в нормальную форму:

dv / dt = - g (2)

Примечание. Нормальная форма дифференциального уравнения первого порядка имеет вид: dy / dt = f ( t, y ), где y = y ( t ) - неизвестная функция аргумента t.

Дифференциальное уравнение (2) вместе с начальным условием v ( 0 ) = v0 образует задачу Коши:

dv / dt = - g

v ( 0 ) = v0 (3)

    1. Решение задачи Коши в среде MATLAB.

    2. Присвоим параметрам и начальным значениям, входящим в уравнения и начальные условия, следующие числовые значения:

    3. >> g = 9.82 % м/с2

    4. >> v0 = 1 % м/с

    5. Примечание. Знак '%' отделяет команду от комментария.

    6. Для решения задачи Коши вызовем в командной строке среды MATLAB функцию ode45:

    7. >> ode45 (@(t, v) - g, [ 0, 20 ], v0)

    1. Первый аргумент функции ode45 задаёт функцию, стоящую в правой части дифференциального уравнениия ( f ( t, v ) = - g ) и указывает её аргументы – t и v. В нашем случае независимая переменная t и неизвестная функция v не входят явно в правую часть дифференциального уравнения. Второй аргумент функции ode45 задаёт интервал, на котором среда должна искать значения неизвестной функции, третий аргумент – значение неизвестной функции в левом конце интервала.

На экране должен появиться график изменения скорости частицы со временем.

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

Вывод

Скорость частицы, двигающейся вдоль вертикальной оси в безвоздушном пространстве, с течением времени линейно возрастает.

Исследование движения шарика, вдоль вертикальной оси под действием постоянной силы тяжести.

    1. Задание. Шарик двигается вдоль вертикальной оси Oz под действием постоянной силы тяжести, сила сопротивления воздуха пропорциональна скорости шарика. Постройте и исследуйте математическую модель системы.

    2. Силу сопротивления воздуха вычисляем по формуле Стокса:

    1. F = - 6 π η r v,

где:

π – число пи, в среде MATLAB оно обозначается символом pi;

η – коэффициент внутреннего трения (вязкости) среды;

r – радиус шарика;

    1. v – скорость шарика;

    2. знак минус указывает, что сила сопротивления среды направлена противоположно скорости шарика.

Коэффициент вязкости воздуха составляет 17.2 · 10-6 Па · с.

    1. Масса шарика равна 4 π r3 ρ / 3, где ρ – плотность материала, из которого изготовлен шарик. Плотность берёзы составляет 700 кг/м3, плотность алюминия - 2700 кг/м3, плотность стали - 7800 кг/м3.

    2. Исследование движения шарика в воде вдоль вертикальной оси под действием постоянной силы тяжести

    3. Задание. Шарик двигается в воде вдоль вертикальной оси Oz под действием постоянной силы тяжести, сила сопротивления воды пропорциональна скорости шарика. Постройте и исследуйте математическую модель системы.

Коэффициент вязкости воды равен 0.00105 Па · с.

На шарик действует сила Архимеда, выталкивающая его из воды, она равна 4 π r3 ρ1 g / 3, g – ускорение свободного падения, ρ1 - плотность воды, ρ1 = 1000 кг/м3.

Исследование движения частицы, на которую действует возвращающая сила (гармонического осциллятора)

    1. Задание. Частица (материальная точка) двигается без трения вдоль горизонтальной оси Ox под действием возвращающей силы, пропорциональной расстоянию частицы от начала координат. Постройте и исследуйте математическую модель системы.

Состояние системы в момент времени t описывается её абсциссой x = x ( t ), величина действующей на неё возвращающей силы равна c x, c – числовой коэффициент. В силу второго закона Ньютона

m d2 x / dt2 = - c x

(знак минус указывает, что возвращающая сила направлена от частицы к началу координат). Чтобы преобразовать это уравнение в нормальную форму используем переменные x1, x2:

    1. x1 обозначает абсциссу частицы, а x2 – её скорость. Уравнение движения частицы превращается в систему уравнений:

dx1 / dt = x2

    1. dx2 / dt = - c x1 / m.

Правую часть системы уравнений можно представить в виде вектора-столбца. Вызываем функцию ode45:

>> ode45 (@( t, x ) [ x ( 2 ); - c x ( 1 ) / m ], [ 0, 20 ], [ x0, v0 ])

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

>> [ T, x ] = ode45 (@( t, x ) [ x ( 2 ); - c x ( 1 ) / m ], [ 0, 20 ], [ x0, v0 ]);

>> plot ( T, x ( : , 1 ))

    1. график скорости строит другая команда:

>> plot ( T, x ( : , 2 ))

Нелинейное уравнение Ван-дер-Поля

Задание. Исследуйте протекание процесса, который описывается нелинейным уравнением Ван-дер-Поля

d2y / dt2 = - y + k ( 1 – y2 ) dy / dt

    1. y = y ( t ) - функция, характеризующая состояние системы, k – параметр.

    2. Определите при каких значениях параметра k решение уравнения Ван-дер-Поля является периодическим. Для решения уравнения Ван-дер-Поля лучше воспользоваться функцией ode15s.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ

«тюменский государственный нефтегазовый университет»

ИНСТИТУТ КИБЕРНЕТИКИ ИНФОРМАТИКИ И СВЯЗИ

Кафедра кибернетических систем

Направление 220400 – Управление в технических системах

ОТЧЁТ О ВЫПОЛНЕННОЙ ЛАБОРАТОРНОЙ РАБОТЕ № 3

ПО ДИСЦИПЛИНЕ "ЧИСЛЕННЫЕ МЕТОДЫ"

ТЕМА. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ

Выполнил Иванов А. Б., группа ....

___________

Проверил Ковалёв П. И.

Тюмень 2013

Цель лабораторной работы № 3.

Овладение навыками решения алгебраических и трансцендентных уравнений в среде MATLAB.

Задание.

    1. Составьте и решите систему линейных уравнений среде MATLAB.

РЕШЕНИЕ СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ В СРЕДЕ MATLAB

Решение системы линейных уравнений с невырожденной матрицей системы в среде MATLAB

    1. Пример. Чтобы решить систему 3-х линейных уравнений с тремя неизвестными:

2 x + 4 y + 5 z = 4

4 x + 6 y + 8 z = 9

7 x + y + 6 z = 6

введём в командной строке среды MATLAB следующие команды:

>> A = [ 2, 4, 5; 4, 6, 8; 7, 1, 6 ]

(переменной A присвоено значение матрицы системы)

>> B = [ 4; 9; 6 ]

(переменой B присвоено значение столбца свободных членов)

>> X = A \ B

(команда вычисляет столбец неизвестных):

>> A = [ 2, 4, 5; 4, 6, 8; 7, 1, 6 ]

A =

2 4 5

4 6 8

7 1 6

>> B = [ 4; 9; 6 ]

B =

4

9

6

>> X = A \ B

X =

7.8333

9.1667

-9.6667

    1. Обратите внимание на то, что в матрице системы элементы одной строки отделяются друг от друга запятыми, тогда как элементы разных строк отделяются друг от друга точкой с запятой; элементы столбца свободных членов отделяются друг от друга точкой с запятой.

Проверка

В командном окне среды MATLAB вводим команду

>> A * X - B

На экране должен появиться появляется столбец, состоящий из нулей.:

ans =

0

0

0

Задание

Составьте и решите систему линейных уравнений. Количество уравнений указывает преподаватель.

Решение системы линейных уравнений с вырожденной матрицей системы в среде MATLAB

Квадратная матрица называется вырожденной , если её определитель равен нулю. Если две строки квадратной матрицы совпадают или их соответствующие элементы пропорциональны, то матрица вырождена.

Задание. Составьте систему n линейных уравнений с n неизвестными, матрица которой вырождена, причём система имеет решение <значение n указывает преподаватель>. Попытайтесь решить её в среде MATLAB. Включите в отчёт описание поведения среды MATLAB.

Задание. Составьте систему n линейных уравнений с n неизвестными, матрица которой вырождена, причём система не имеет решений <значение n указывает преподаватель>. Попытайтесь решить её в среде MATLAB. Включите в отчёт описание поведения среды MATLAB.

Пример системы трёх линейных уравнений, множество решений которой бесконечно:

x + 2 y + 3 z = 4

x + 2 y + 3 z = 4

5 x + 6 y + 7 z = 8

Пример системы трёх линейных уравнений, которая не имеет решений:

x + 2 y + 3 z = 4

x + 2 y + 3 z = 14

5 x + 6 y + 7 z = 8

Задание. Приведите пример системы, математическая модель которой представляет собой систему линейных алгебраических уравнений. Исследуйте эту модель аналитическими методами. Решите систему уравнений в среде MATLAB.

ПАКЕТ SCILAB

Пакет прикладных программ Scilab (читается Сайлэб) предоставляет пользователю проблемно-ориентированную инструментальную среду, которая позволяет автоматизировать математические вычисления. В первую очередь этот пакет предназначен для технических расчетов. Он распространяется бесплатно. Язык программирования среды Scilab похож на язык программирования среды MATLAB. Среда Scilab реализована в виде обычного оконного приложения, для её запуска достаточно дважды щёлкнуть левой кнопкой мыши по её значку на экране или выполнить операцию 'открыть' в её контекстном меню. После запуска программы Scilab на экране появляется окно среды, оно содержит меню, панель инструментов и рабочую область. Символ --> указывает командную строку рабочей области. Команжы вводятся с клавиатуры, когда пользователь нажимает клавишу Enter, введённая команда выполняется. Если после команды пользователь поставил точку с запятой (;), то результат выполнения команды не выводится на экран. Команда ? Открывает доступ к справочной системе среды Scilab.

Простейшей командой является математическое выражение, состоящее из чисел и знаков математических операций +, -, *, /. Каждое такое выражение среда интерпретирует как команду вычислить его значение; это значение присваивается переменной ans (answer – ответ). Среда выполняет команду после того, как пользователь нажмет клавишу Enter. Пример:

>> 3/7

ans=

0,4286

среда Scilab вывела округленный результат вычислений, оставив в нем лишь четыре десятичных разряда.!!!! Команда

>> format long

позволяет пользователю выводить результаты вычислений с максимальной точностью в течение сеанса работы. Чтобы вернуться к сокращенному представлению чисел, следует выполнить команду

>> format short.

Пример:

>> format long

>> 3/7

ans=

0,428571…

>> format short.

>> 3/7

ans=

0,4286

Для обозначения операции возведения в степень используется символ ^ , он называется сиркомфлексом.

Пример:

>> 3^7

ans=

2187

>> 2^10

ans=

1024.

Переменные. Значение переменной ans можно использовать в выражениях командной строки, например:

>> 3/7

ans=

0,4286

>> 2* ans

ans=

0,8571

Операция присваивания, которая обозначается знаком равенства '=', позволяет пользователю создавать свои переменные и присваивать им значения выражений:

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