Решение нелинейных и трансцендентных уравнений методом поразрядного приближения

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Информатика
  • 20 20 страниц
  • 4 + 4 источника
  • Добавлена 04.06.2013
1 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
ВВЕДЕНИЕ
1.Постановка задачи
2.Область применения
3.Требования к интерфейсу пользователя
4.Отдельно перечисляются возможные сообщения и реакция программы на ошибки ввода и вычислений
5.Анализ, формальная постановка и выбор метода решения задачи
6.Разработка алгоритмов решения задачи
7.Тексты и описание программных модулей
7.1 Решение задачи с помощью стандартных функций MatLab
7.2 Решение задачи разработка модуля для решения уравнения в MatLab
8.Тестирование разработанных программных модулей
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

Фрагмент для ознакомления

Функция fzero и fsolve. Используются для нахождения корня нелинейного уравнения. Форматы этих функций:
<имя результата>=fzero('имя функции',[левый предел правый предел])
<имя результата>= fsolve ('имя функции', левый предел)
Задача поиска корней нелинейного уравнения в системе MATLAB может быть решена следующим образом. Вначале необходимо построить график функции f(x) на заданном интервале и убедиться в существовании корня или нескольких корней. Затем применить программы поиска корней. Если существует корень и график f(x) пересекает ось ох, то можно применить программу fzero или fsolve.
Алгоритм решения уравнения:
Создается Mat-функция для функции f(x).
Создается файл программы. Вводится текст заглавия как комментарий.
Необходимо вывести f(x) как график. По нему определяются приближенно корни уравнения f(x)=0. Если корни на графике не просматриваются, то необходимо изменить пределы изменения аргумента и повторить операции.
Для каждого корня находится точно значение, используя стандартные функции fzero и fsolve.
Сформированная строка с результатами выводится в заголовок окна графика.
Создание m-функции:
Нелинейное алгебраическое уравнение: -0.85(x3-2(x2+7(x+2

Рисунок 2 – Создание m-функции
Локализация корней. Уравнение может иметь несколько корней, каждый из которых ищется отдельно. При этом для каждого корня надо задать диапазон аргумента, в котором он находится (только один!).
Это делается путем локализации корня. Для этого надо просчитать значения функций в заданном интервале и построить их графики. Начальное значение для решения одного уравнения - точка пересечения графиком функции оси Х. График выводится процедурой, в которой аргументы - переменная х и анализируемая функция. С помощью grid on график делается с координатной сеткой:

Рисунок 3 – Программа нахождения корней уравнения


Рисунок 4 – График функции
Теперь реализуем аналогичный алгоритм для транцедентного уравнения: x-sin(x)-0.25

Рисунок 5 – Создание m-функции

Рисунок 6 – Программа нахождения корней уравнения

Рисунок 7 – График функции
7.2 Решение задачи разработка модуля для решения уравнения в MatLab
Код программы
programm.m
%решение нелинейного уравнения
clear
global f
f = in_fun();
[ E,h,a,b,Rh] = in_dat();
x=a;

k=0;
while ((x x=x+h;
if (f(x-h)*f(x)<0)
h=-h/Rh;
end
if (abs(h)<=E/Rh)
k=1;% корень найден
end
end

%Вывод результата%
out_x(x,f(x))

В программе использованы следующие функции:

function [ ] = out_x(x,f)
%вывод результата
fprintf('Решение x=%d\n',x)
fprintf('Решение f=%d\n',f)
end

function [ f] = in_fun()
%ввод вида функции
R=input('Выражение для функции (только правую часть!!!)\n','s');
f = inline(R);
end


function [ E,h,a,b,Rh] = in_dat()
%ввод исходных данных
R=input('Введите значение погрешности вычислений\n','s');
E=str2double(R);
R=input('Введите начальный шаг вычисления\n','s');
h=str2double(R);
R=input('Введите левую границу интервала A\n','s');
a=str2double(R);
R=input('Введите правую границу интервала B\n','s');
b=str2double(R);
R=input('Величина уменьшения шага\n','s');
Rh=str2double(R);
end


Тестирование разработанных программных модулей

Рисунок 7 – Результат тестирования -0.85*x.^3-2*x.^2+7*x+2

Рисунок 7 – Результат тестирования для уравнения x-sin(x)-0.25


ЗАКЛЮЧЕНИЕ
При выполнении курсовой работы были изучены этапы разработки программного обеспечения, получены навыки программирования на языке MATLAB, освоена работа с функциями, получить навыки построения интерфейса пользователя.
Реализована программа для нахождения корней нелинейных алгебраических и транцедентных уравнений.


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Алексеев Е.Р., Чесноков О.В. Решение задач вычислительной математики в пакете MatLab 12, MatLab 7. –М.: НТ Пресс, 2006. - 496 с.
Дьяконов В. MatLab7. –М.: ДМК Пресс, 2008. – 768 с.
Hunt. MatLab R2007 с нуля! –М.: Лучшие книги, 2008. – 352 с.
URL:http://www.exponenta.ru/educat/systemat/hanova/equation/nonlinear/nonlinear1.asp











11



начало

конец

f,E,a,b,h,Rh

K=0

x=a

(x

f(x-h)*f(x)<0


x=x+h

h=-h/Rh


abs(h)<=E/Rh


k=1

x,f(x)


нет

да

да

да

нет

нет

1.Алексеев Е.Р., Чесноков О.В. Решение задач вычислительной математики в пакете MatLab 12, MatLab 7. –М.: НТ Пресс, 2006. - 496 с.
2.Дьяконов В. MatLab7. –М.: ДМК Пресс, 2008. – 768 с.
3.Hunt. MatLab R2007 с нуля! –М.: Лучшие книги, 2008. – 352 с.
4.URL:http://www.exponenta.ru/educat/systemat/hanova/equation/nonlinear/nonlinear1.asp

Вопрос-ответ:

Какие уравнения можно решать методом поразрядного приближения?

Метод поразрядного приближения позволяет решать нелинейные и трансцендентные уравнения.

В каких областях можно применять метод поразрядного приближения?

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

Какие требования предъявляются к интерфейсу пользователя программы для решения уравнений методом поразрядного приближения?

Интерфейс пользователя программы должен быть интуитивно понятным и удобным в использовании. Пользователю должно быть легко вводить уравнение и задавать начальное приближение. Также желательно иметь возможность задавать точность вычислений и отображать результаты на экране.

Какая реакция программы на ошибки ввода и вычислений?

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

Как выбирается метод решения задачи при использовании метода поразрядного приближения?

Выбор метода решения задачи зависит от типа уравнения и условий задачи. В основе метода поразрядного приближения лежит идея разбивать уравнение на отдельные части и решать их последовательно. Для каждой части может использоваться различный метод решения, например, метод Ньютона или метод деления пополам.

Каким методом решаются нелинейные и трансцендентные уравнения в данной статье?

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

В каких случаях можно применить метод поразрядного приближения?

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

Какие требования предъявляются к интерфейсу пользователя для использования данного метода?

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