Моделирование физических задач
Рассмотрение метода полушага и алгоритма Бимана. Особенности применения метода Рунге-Кутта к задаче о падении тел. Характеристика численных методов решения дифференциальных уравнений в частных производных. Методы отделения корней уравнений с переменной.
Рубрика | Физика и энергетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 13.02.2016 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Для действительных корней задача отыскания решения уравнения легко интерпретируется графически: корень есть такое значение независимой переменной, при котором происходит пересечение графика функции, стоящей в левой части уравнения , с осью абсцисс. Например, пусть есть уравнение
Преобразуем его в и определим, что
График функции имеет вид
Таким образом, можно приблизительно определять область локализации корней уравнения. Так, видно, что данное уравнение имеет два действительных корня - один на отрезке [-1, 0] , а второй - [1, 2].
Пример 1.
Отделить корни трансцендентного уравнения графически.
Решение.
1. Создайте файл Func.m, содержащий описание функции
Файл Func.m.
function z=Func(x)
z=x.^2-sin(x)-1;
2. Постройте график функции в промежутке [-2; 2], выполнив в командном окне пакета MATLAB следующую последовательность операторов:
>> x= -2:0.1:2;
>> plot(x, Func(x)); grid on
3. Из рисунка видно, что функция имеет два корня:
х1[-1; 0] и х2 [1; 2].
Пример 2.
Методом половинного деления уменьшить промежуток изоляции корня х2 [1; 2] уравнения до промежутка длиной 0,1.
Метод дихотомии (половинного деления) основан на последовательном делении отрезка локализации корня пополам.
Теорема: Если непрерывная и строго монотонная на отрезке функция на концах его имеет противоположные знаки, т.е. , то на интервале имеется один и только один корень.
Для реализации этого метода выбирается начальное приближение к отрезку такое, что , затем определяется знак функции в точке - середине отрезка . Если он противоположен знаку функции в точке , то корень локализован на отрезке , если же нет - то на отрезке .
Решение.
1. Создайте файл ChislOtd.m, содержащий описание функции, уменьшающий промежуток изоляции корня методом дихотомии.
Файл ChislOtd.m.
function ChislOtd(f,x1,x2,h);
% f - имя m-файла, содержащего описание функции
% x1 - левая граница отрезка, на котором производится поиск решения
% x2 - правая граница отрезка, на котором производится поиск решения
% h - длина промежутка изоляции корня
a=x1;
b=x1+h;
while b<=x2
if feval(f,a)*feval(f,b)<=0
% feval(f,c) - оператор вычисления в точке х=с значения
% функции, описание которой находится в соответствующем файле.
% Имя файла хранится в строковой переменной f
a
b
end;
a=b;
b=b+h;
end;
2. Найдите новый промежуток изоляции корня:
>> ChislOtd('Func',1,2,0.1)
a =
1.4000
b =
1.5000
Таким образом, мы получили промежуток изоляции корня
[1,4; 1,5], который имеет длину 0,1.
ОПРЕДЕЛЕНИЕ КОРНЕЙ УРАВНЕНИЙ С ОДНОЙ ПЕРЕМЕННОЙ
ЦЕЛЬ РАБОТЫ
Привить студентам знания об основных этапах решения уравнения, выработать навыки использования различных методов для уточнения корня уравнения.
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
Все численные методы решения уравнений представляют собой алгоритмы последовательного приближения к корню уравнения. То есть, выбирается начальное приближение к корню и затем с помощью формулы генерируется последовательность сходящаяся к корню уравнения .
Пример 1.
Решить уравнение методом половинного деления с точностью 0,001 (промежуток изоляции корня [1,4; 1,5]).
Решение.
1. Создайте файл Func.m, содержащий описание функции
Файл Func.m.
function z=Func(x)
z=x.^2-sin(x)-1;
2. Создайте файл Div2.m, содержащий описание функции, возвращающей значение корня уравнения методом половинного деления.
Файл Div2.m.
function Div2(f,x1,x2,esp);
% f - имя m-файла, содержащего описание функции
% x1 - левая граница отрезка, на котором производится поиск решения
% x2 - правая граница отрезка, на котором производится поиск решения
% eps - точность решения
L=x2-x1;
k=0;
% k - счетчик количества шагов приближения к корню
while L>esp
c=(x2+x1)/2;
k=k+1;
if feval(f,c)*feval(f,x1)<0
% feval(f,c) - оператор вычисления в точке х=с значения
% функции, описание которой находится в соответствующем файле.
% Имя файла хранится в строковой переменной f
x2=c;
else
x1=c;
end;
L=x2-x1;
end;
x=c
k
fx=feval(f,c)
% fx - значение невязки
3. Вычислите значение корня уравнения
>> Div2('Func',1.4,1.5,0.001)
x =
1.4102
k =
7
fx =
0.0014
Ответ: решение х=1,4102 мы получили с точностью 0,001 за семь итераций.
При этом значение невязки fx = 0,0014.
Пример 2.Решить уравнение методом итераций с точностью 0,001 (промежуток изоляции корня [1,4; 1,5]).
Метод простой итерации
Это простейший из методов нахождения корней. В качестве итерационной формулы используется выражение независимой переменной из исходного уравнения:
Исходное уравнение - путем арифметических преобразований приводится к виду , который может использоваться в качестве итерационной формулы.
Данное преобразование, как правило, не однозначно и совершенно отдельной задачей является оценка применимости и эффективности того или иного способа преобразования.
Например, уравнение можно преобразовать, например, так или так или так и т.д.
Задавшись начальным приближением к корню (например, из анализа графика функции или априорных соображений физически реальной модели) можно найти решение: , затем ,…,.
Ниже приведена таблица вычислений для представленных выражений, начиная с одного и того же начального приближения.
Точность до семи значащих цифр достигается при данном выборе начального приближения для первой итерационной формулы уже на шестом шаге итерационной процедуры, для третьей - на 115-м (в таблице не показано). А вот для второй формулы уже на третьем итерационном шаге вычисления прекращаются, так как под знаком арксинуса оказывается число, большее единицы (нарушается область определения функции).
Теорема 3. Пусть функция g(x) определена и дифференцируема на отрезке, причем все ее значения, и существует такое вещественное число q, что , x , то итерационная последовательность сходится независимо от начального приближения и предельное значение является единственным корнем уравнения на отрезке .
Чем меньше значение q, тем «быстрее» сходится итерационная последовательность. Сходимость будет достаточно «быстрой», если .
Решение.
1. Создайте файл Func.m, содержащий описание функции
Файл Func.m.
function z=Func(x)
z=x.^2-sin(x)-1;
2. Создайте файл Func1.m, содержащий описание итерационной формулы .
Файл Func1.m.
function y=Func1(x)
y=sqrt(1+sin(x))
3. Создайте файл Iter.m, содержащий описание функции, возвращающей значение корня уравнения методом итераций.
Файл Iter.m.
function Iter(f,x0,esp)
x1=Func1(x0);
k=1;
while abs(x1-x0)>esp
x0=x1;
x1=Func1(x0);
k=k+1;
end;
x=x1
k
fx=feval(f,x1)
4. Вычислите значение корня уравнения:
>> Iter('Func',1.4,0.001)
x =
1.4076
k =
5
fx =
-0.0055
Ответ: решением уравнения будет число х=1,4076, полученное на 5 шаге. Значение невязки fx = -0.0055.
Решение алгебраических и трансцендентных уравнений в среде MATLAB осуществляется с помощью следующих встроенной функции: fzero().
Функция fzero( ) имеет следующую реализацию:
[x, f, e_flag, inform] = fzero('f(x)', x0)
где:
x - искомое неизвестное;
f - значение невязки;
e_flag - переменная, знак которой свидетельствует о наличии корня на данном интервале ( например, e_flag=1 - корень существует);
inform - содержит три поля с именами iterations (количество итераций), funcCount (количество обращений к функции f(x)), и algorithm (наименование алгоритма, использованного для нахождения корня;
'f(x)' - решаемое уравнение, записанное в одиночных кавычках;
x0 - начальное приближение или интервал поиска решения.
Пример 3.
Необходимо найти корни уравнения
,
если известно, что корни находятся в промежутках [-1, 0] и [1, 2].
Решение:
>> [x,f,e_flag,inform]=fzero('x^2-sin(x)-1',[-1, 0])
x =
-0.6367
f =
0
e_flag =
1
inform =
iterations: 8
funcCount: 8
algorithm: 'bisection, interpolation'
>> [x,f,e_flag,inform]=fzero('x^2-sin(x)-1',[1, 2])
x =
1.4096
f =
-1.1102e-016
e_flag =
1
inform =
iterations: 10
funcCount: 10
algorithm: 'bisection, interpolation'
Размещено на Allbest.ru
...Подобные документы
Современная общая теория дифференциальных уравнений. Обзор основных понятий и классификации дифференциальных уравнений в частных производных. Уравнение теплопроводности. Начальные и граничные условия. Численное решение уравнений математической физики.
курсовая работа [329,9 K], добавлен 19.12.2014Общая характеристика законов динамики, решение задач. Знакомство с основными видами сил. Особенности дифференциальных уравнений движения точки. Анализ способов решения системы трех дифференциальных уравнений второго порядка, рассмотрение этапов.
презентация [317,7 K], добавлен 28.09.2013Теоретическое описание метода Ньютона. Решение нелинейных уравнений узловых напряжений в форме баланса токов. Влияние установившегося отклонения напряжения на работу электропотребителей. Аналитическая запись решения и численный расчет энергосистемы.
контрольная работа [911,1 K], добавлен 15.01.2014Использование теоремы об изменении кинетической энергии при интегрировании системы уравнений движения. Получение дифференциальных уравнений движения диска. Анализ динамики ускорения движения стержня при падении. Расчет начальных давлений на стену и пол.
презентация [597,5 K], добавлен 02.10.2013Особенности вывода дифференциальных уравнений осесимметрических движений круглой цилиндрической оболочки. Построение частного волнового решения основной системы уравнений гидроупругости вещества. Метод решения уравнения количества движения для жидкости.
курсовая работа [125,7 K], добавлен 27.11.2012Переходный процесс при внезапном коротком замыкании трансформатора. Решение системы дифференциальных уравнений методом Рунге-Кутта. Переходной процесс в асинхронных и синхронных машинах. Анализ режима прямого пуска двигателя параллельного возбуждения.
лабораторная работа [929,8 K], добавлен 10.09.2012Расчет амплитуды и частоты периодических режимов графоаналитическим методом гармонического баланса. Применение численных методов решения системы двух алгебраических уравнений. Цифровое моделирование системы и получение временной диаграммы на ЭВМ.
курсовая работа [622,7 K], добавлен 12.02.2008Уравнения гиперболического типа с частными производными 2-го порядка, решение равенства свободных колебаний струны методом разделения переменных. Описание дифференциальных уравнений теплопроводности для полубесконечного стержня в виде интеграла Пуассона.
курсовая работа [480,7 K], добавлен 05.05.2011Постановка задачи дифракции и методы ее решения. Сведения о методах решения задач электродинамики. Метод вспомогательных источников. Вывод интегральных уравнений Фредгольма второго рода для двумерной задачи. Численное решение интегрального уравнения.
курсовая работа [1,2 M], добавлен 13.01.2011Основная задача динамики, применение законов Ньютона. Применение основного закона динамики и дифференциальных уравнений движения материальной точки при решении задач. Основные свойства внутренних и внешних сил механической системы. Вычисление работы сил.
курсовая работа [347,8 K], добавлен 11.05.2013Основные исходные положения и принятые допущения. Исходная система всех основных уравнений. Преобразование исходной системы уравнений к форме записи, отвечающей задаче исследования. Преобразование до конечного результата полученной системы уравнений.
курсовая работа [1,1 M], добавлен 26.10.2013Составление уравнений состояния цепи, построение графиков полученных зависимостей. Решения дифференциальных уравнений методом Эйлера. Анализ цепи операторным и частотным методами при апериодическом воздействии. Характеристики выходного напряжения и тока.
курсовая работа [541,5 K], добавлен 05.11.2011Электрическая цепь усилителя мощности и обмотки исполнительного двигателя. Механическая передача между ИД и объектом. Уравнения характеристик датчика ошибки. Изменение структуры электрических следящих приводов в зависимости от выходного сигнала ДО.
реферат [1,5 M], добавлен 04.08.2015Прямое преобразование Лапласа. Замена линейных дифференциальных уравнений алгебраическими уравнениями. Законы Ома и Кирхгофа в операторной форме. Метод переменных состояния. Особенности и порядок расчета переходных процессов операторным методом.
презентация [269,1 K], добавлен 28.10.2013Проведение анализа линейной разветвленной электрической цепи при помощи численного метода интегрирования дифференциальных уравнений. Ознакомление со спецификой анализа цепи операторным и частотным методами при апериодическом и периодическом воздействиях.
дипломная работа [1,0 M], добавлен 28.12.2011Применение метода контурных токов для расчета электрических схем. Алгоритм составления уравнений, порядок расчета. Метод узловых потенциалов. Определение тока только в одной ветви с помощью метода эквивалентного генератора. Разделение схемы на подсхемы.
презентация [756,4 K], добавлен 16.10.2013Метод уравнений Кирхгофа. Баланс мощностей электрической цепи. Сущность метода контурных токов. Каноническая форма записи уравнений контурных токов. Метод узловых напряжений (потенциалов). Матричная форма узловых напряжений. Определение токов ветвей.
реферат [108,5 K], добавлен 11.11.2010Основные методы описания распространения электромагнитных волн в периодических средах с использованием волновых уравнений. Теории связанных волн, вывод уравнений. Выбор метода для описания генерации второй гармоники в периодически поляризованной среде.
дипломная работа [1,1 M], добавлен 17.03.2014Содержание классического метода анализа переходных процессов в линейных цепях: непосредственное интегрирование дифференциальных уравнений, описывающих электромагнитное состояние цепи. Два закона коммутации при конечных по величине воздействиях в цепи.
презентация [679,0 K], добавлен 28.10.2013Представление синусоидального тока комплексными величинами. Определитель матрицы, его свойства. Расчет установившихся режимов электрических систем. Методы решения линейных алгебраических уравнений. Прогнозирование уровня электропотребления на предприятии.
курсовая работа [941,2 K], добавлен 25.03.2015