Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Решение уравнений в MatLab



Подготовка к работе.

1. По указанной литературе изучить:

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

2. Разработать алгоритмы решения задач из варианта задания.

3. Составить программы решения задач.

Контрольные вопросы

1. Задание функции пользователя.

2. Локализация решений уравнения.

3. Решение нелинейного уравнения с использованием функции fzero.

4. Вывод полученных решений уравнения.

5. Локализация решений системы из двух уравнений.

6. Решение системы из двух уравнений.

7. Вывод полученных решений системы уравнений.

Задание к работе

Задача 1. Решение нелинейного уравнения.

Создать Mat-функцию для функции f1 (x).

- Создать файл программы. Ввести текст заглавия задачи, как комментарий. Вве­
сти в него аргументы в заданных пределах.

- Вывести y(x)=f1 (x) в виде XY графика. По нему определить приближенно корни
уравнения у(х)=0. Если корни на графике не просматриваются, то изменить пре­
делы изменения аргумента и повторить операции.

- Для каждого корня найти точное значение, используя функцию fzero.

 

- Сформировать строку с результатами и вывести ее в заголовок окна графика.
Задача 2. Решение системы из двух нелинейных уравнений.

- Создать Mat-функции для функций f2(x) и f3(x) = f1 (x) - f2(x).

 

- Создать файл программы. Ввести текст заглавия задачи, как комментарий. Вве­
сти в него аргументы в заданных пределах.

- Вывести f1(x) и f2(x) в виде XY графиков. По нему определить приближенно
корни системы уравнений, как координаты точек пересечения графиков f 1 (х) и
Щх).Если корни на графике не просматриваются, то изменить пределы измене­
ния аргумента и повторить операции.

- Для каждого корня найти точное значение, используя функцию fzero к перемен­
ной f3(x).

- Сформировать строку с результатами и вывести ее в заголовок окна графика.


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

1. При решении нелинейного уравнения оно формируется из функций задания, как
f1(x)=O.

2. При решении системы из двух нелинейных уравнений из функций задания формиру­
ется уравнение f3(x) = f1(x) - f2(x) = 0. Функции из задания надо определить, как функ­
ции пользователя, создав для них новые Mat-функции. Это упростит обращения к
ним при решении уравнений.

3. В качестве имен функций можно выбрать fun1, fun2 и fun3. Mat-функции надо созда­
вать в новом окне редактора. Формат Mat-функции:

function [var1 var2 ...] = <имя функции>(список параметров)

уаг1=<выражение>

уаг2=<выражение> function - зарезервированное слово, [var1 var2 ...] - вектор имен возвращаемых функцией значений.

4. В нашем случае возможное такое описание Mat-функции:

function =fun1(x) П=<выражение>

5. Локализация корней. Уравнение или система уравнений может иметь несколько кор­
ней, каждый из которых ищется отдельно. При этом для каждого корня надо задать
диапазон аргумента, в котором он находится (только один!).

6. Это делается путем локализации корня. Для этого надо просчитать значения функ­
ций в заданном интервале и построить их графики. Начальное значение для решения
одного уравнения - точка пересечения графиком функции оси X. График выводится



процедурой, в которой аргументы - переменная х и анализируемая функция. С помо­щью grid on график делается с координатной сеткой:

plot(x,fun1(x));gridon;

7. Начальное значение для решения системы из двух уравнений - точка взаимного пе­
ресечения графиков функций. Графики выводятся процедурой, в которой для каждого
графика следует группа параметров:

plot(x,fun1 (x),x,fun2(x));grid on;

8. Функция fzero. Используется для нахождения корня нелинейного уравнения. Формат
этой функции:

<имя результата>^его('имя функции',[левый предел: правый предел]) Пример использования: % Вектор аргумента x=[a:h:b];

% График локализации корней plot(x,fun1(x));gridon; % Найти первый корень x1=fzero('fun1(x)',[-4-3]);

Пример выполнения

Задание Функция 1 fl(x) = -0.85*x3-2x2+7x+2

Функция 2 f2(x) = 6cos(x) - 5

Для нахождения корней выражений будем использовать процедуры MatLab, для ко­торых нужно выражения оформить, как Mat-функции. Создадим в редакторе MatLab но­вые встроенные Mat-функции с именами fun1, fun2 и fun3, тексты которых сохраним в файлах: funi.m, fun2.m и fun3.m. Третья функция нужна для решения системы из двух уравнений по тому же алгоритму, что для одного уравнения, но с преобразованием двух уравнений в одно разностное.

Файл fun1 .mfunction f1 =fun1 (x) f1=-0.85*x.A3-2*x.A2+7*x+2

Файл fun2.m function f2=fun2(x) f2=6*cos(x)-5

Файл fun3.m function f3=fun3(x)

f3=-0.85*x.A3-2*x.A2+7*x+2-6*cos(x)+5 Задача 1

% Задача1

% Нахождение корней выражения

% Пределы и шаг аргумента

а=-4;

Ь=4;

h=0.5;


% Вектор аргумента

x=[a:h:b];

% График локализации корней

plot(x,fun1(x));gridon;

% Найти первый корень

x1=fzero('fun1(x)',[-4-3]);

% Найти второй корень

x2=fzero('fun1(x)',[-1 0]);

% Найти третий корень

x3=fzero('fun1(x)',[1 3]);

% Получить строку результатов

Result=strcat('x1 - ,num2str(x1),' x2=',num2str(x2),' x3=',num2str(x3));

% Включить его в график в форме заголовка

title(Result)



Задача 2

% Задача2

% Решение системы нелинейных уравнений

% Пределы и шаг аргумента

а=-4;

Ь=4;

h=0.5;

% Вектор аргумента

x=[a:h:b];

% График локализации корней

plot(x,fun1 (x),x,fun2(x));grid on;

% Найти первый корень

x1=fzero('fun3(x)',[-4-3])

% Найти второй корень

x2=fzero('fun3(x)',[-1 0]);

% Найти третий корень

x3=fzero('fun3(x)',[2 3]);

% Получить строку результатов

Result=strcat('x1 =',num2str(x1),' x2=',num2str(x2),' x3=',num2str(x3));

% Включить его в график в форме заголовка

title(Result)


 




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

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.