МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное агентство морского и речного транспорта
Омский институт водного транспорта (филиал) ФГОУ ВПО
«Новосибирская государственная академия водного транспорта»
кафедра ЭТ и ЭО
Оценка
Подпись
Дата
ЛАБОРАТОРНая работа
По дисциплине ОПАС
На тему: Решение уравнений в MatLab
Вариант: 2
РУКОВОДИТЕЛЬ:
(ученая степень, должность)
Зубанов Д А
(Фамилия И.О.)
СТУДЕНТ:
очная ЭП-41
(форма обучения, группа, шифр)
Долгопол Ю Ю
(Фамилия И.О.)
Омск 2013
Лабораторная работа №7.
Решение уравнений в MatLab.
Задание к работе
Задача 1. Решение нелинейного уравнения.
- Создать Mat-функцию для функции f1(x).
- Создать файл программы. Ввести текст заглавия задачи, как комментарий. Ввести в него аргументы в заданных пределах.
- Вывести y(x)=f1(x) в виде XY графика. По нему определить приближенно корни уравнения у(х)=0. Если корни на графике не просматриваются, то изменить пределы изменения аргумента и повторить операции.
- Для каждого корня найти точное значение, используя функцию fzero,
- Сформировать строку с результатами и вывести ее в заголовок окна графика. Задача 2. Решение системы из двух нелинейных уравнений.
- Создать Mat-функции для функций f2(x) и f3(x) = f1 (x) - f2(x).
- Создать файл программы. Ввести текст заглавия задачи, как комментарий. Ввести в него аргументы в заданных пределах.
- Вывести f 1 (х) и f2(x) в виде XY графиков. По нему определить приближенно корни системы уравнений, как координаты точек пересечения графиков f1(x) и!2(х).Если корни на графике не просматриваются, то изменить пределы изменения аргумента и повторить операции.
- Для каждого корня найти точное значение, используя функцию fzero к переменной f3(x).
- Сформировать строку с результатами и вывести ее в заголовок окна графика.
Таблица 1: Варианты заданий
№ | f1(x)- полином 3-ей степени с коэффициентами а | f2(x) | |||
аЗ | а2 | а1 | аО | ||
-2 | -15 | 40|cos(x)| |
>> % Задача1
% Нахождение корней выражения
% Пределы и шаг аргумента
>> a=-4;
>> b=4;
>> h=0.5;
>> % Вектор аргумента
>> x=[a:h:b];
>> % График локализации корней
>> plot(x,fun1(x));grid on;
f1 =
Columns 1 through 7
25.0000 16.5000 9.0000 2.5000 -3.0000 -7.5000 -11.0000
Columns 8 through 14
-13.5000 -15.0000 -15.5000 -15.0000 -13.5000 -11.0000 -7.5000
Columns 15 through 17
-3.0000 2.5000 9.0000
>> % Найти первый корень
>> x1=fzero('fun1(x)',[-4-3]);
f1 =
f1 =
91.1387
f1 =
103.0181
f1 =
88.7568
f1 =
105.5568
f1 =
85.4342
f1 =
109.1930
f1 =
80.8272
f1 =
114.4272
f1 =
74.4956
f1 =
122.0132
f1 =
65.9088
f1 =
133.1088
f1 =
54.5000
f1 =
149.5352
f1 =
39.8352
f1 =
174.2352
f1 =
22.0352
f1 =
212.1056
f1 =
2.7408
f1 =
271.5408
f1 =
-12.7887
f1 =
-10.0497
f1 =
7.2415
f1 =
-1.4423
f1 =
-0.1439
f1 =
6.4980e-004
f1 =
-1.5156e-006
f1 =
-1.5888e-011
f1 =
3.5527e-015
f1 =
-7.1054e-015
f1 =
3.5527e-015
>> x2=fzero('fun1(x)',[-10]);
f1 =
f1 =
193.2806
f1 =
217.0394
f1 =
188.5200
f1 =
222.1200
f1 =
181.8812
f1 =
229.3988
f1 =
172.6800
f1 =
239.8800
f1 =
160.0424
f1 =
255.0776
f1 =
142.9200
f1 =
277.3200
f1 =
120.2048
f1 =
310.2752
f1 =
91.0800
f1 =
359.8800
f1 =
55.8897
f1 =
436.0303
f1 =
18.1200
f1 =
555.7200
f1 =
-11.3006
f1 =
-9.3261
f1 =
4.8196
f1 =
-0.9193
f1 =
-0.0639
f1 =
1.2877e-004
f1 =
-1.3301e-007
f1 =
-2.8066e-013
f1 =
3.5527e-015
f1 =
-7.1054e-015
f1 =
3.5527e-015
>> % Найти третий корень
>> x3=fzero('fun1(x)',[13]);
f1 =
f1 =
278.8856
f1 =
315.6552
f1 =
271.5408
f1 =
323.5408
f1 =
261.3120
f1 =
334.8512
f1 =
247.1632
f1 =
351.1632
f1 =
227.7873
f1 =
374.8655
f1 =
201.6528
f1 =
409.6528
f1 =
167.2274
f1 =
461.3838
f1 =
123.6112
f1 =
539.6112
f1 =
72.0660
f1 =
660.3788
f1 =
19.4448
f1 =
851.4448
f1 =
-14.4232
f1 =
-13.2173
f1 =
28.2960
f1 =
-5.6601
f1 =
1.7365
f1 =
-0.1850
f1 =
-0.0049
f1 =
7.7802e-007
f1 =
-6.1995e-011
f1 =
-3.5527e-015
f1 =
1.2434e-014
f1 =
-3.5527e-015
>> % Получить строку результатов
>> Result=strcat('x1=',num2str(x1),' x2=',num2str(x2),' x3=',num2str(x3));
>> % Включить его в график в форме заголовка
>> title(Result)
Рис. 1
% Задача2
% Решение системы нелинейных уравнений
% Пределы и шаг аргумента
a=-4;
b=4;
h=0.5;
% Вектор аргумента
x=[a:h:b];
% График локализации корней
plot(x,fun1(x),x,fun2(x));grid on;
% Найти первый корень
x1=fzeroCfun3(x)',[-4 -3])
x1=fzero('fun3(x)',[-4-3])
% Найти второй корень
x2=fzero('fun3(x)',[-10]);
% Найти третий корень
x3=fzero('fun3(x)',[23]);
% Получить строку результатов
Result=strcat('x1=',num2str(x1),' x2=',num2str(x2),' x3=',num2str(x3));
% Включить его в график в форме заголовка
title(Resuit)
title(Result)
Рис. 1
Контрольные вопросы.
1. Задание функции пользователя.
2. Локализация решений уравнения.
3. Решение нелинейного уравнения с использованием функции fzero.
4. Вывод полученных решений уравнения.
5. Локализация решений системы из двух уравнений.
6. Решение системы из двух уравнений.
7. Вывод полученных решений системы уравнений.