3. Методы решения инженерных задач применительно к области
3. Методы решения инженерных задач применительно к области тягового и транспортного машиностроения 3.4. Методы решения дифференциальных уравнений и их систем Разработали: студентки гр.101219 Савко А.И., Жамойдик Н.Б. Руководитель: Атаманов Ю.Е
3.4. Методы решения дифференциальных уравнений и их систем 3.4.1. Решение дифференциальных уравнений Инженеру очень часто приходится сталкиваться с разработкой и решением дифференциальных уравнений и их систем при проектировании новых изделий. Причем, чаще всего такие задачи решаются численными методами. Эту возможность трудно переоценить, так как большая часть законов физики и теоретической механики формулируется именно в виде дифференциальных уравнений. Многие серьезные научно-технические задачи (особенно относящиеся к анализу динамических систем и их математическому моделированию) базируются на численных методах решения систем дифференциальных уравнений. Нелинейные дифференциальные уравнения и их системы, как правило, не имеют аналитических методов решения, и здесь особенно важна возможность их решения численными методами.
3.4. Методы решения дифференциальных уравнений и их систем Различные технические задачи приводят к необходимости решать дифференциальные уравнения, удовлетворяющие заданным начальным условиям. Дифференциальные уравнения –это уравнения, связывающие независимую переменную х, искомую функцию у и ее производные: Порядок наивысшей производной, входящей в дифференциальное уравнение, определяет порядок этого уравнения. Степень, в которой входит в дифференциальное уравнение высшая производная, определяет степень дифференциального уравнения. В зависимости от числа независимых переменных и, следовательно, типа входящих в них производных дифференциальные уравнения делятся на две существенно различные категории: обыкновенные дифференциальные уравнения, содержащие одну независимую переменную (для наших объектов это чаще всего время)
3.4. Методы решения дифференциальных уравнений и их систем Решением дифференциального уравнения называется функция y= f(x), которая вместе со своими производными удовлетворяет исходному дифференциальному уравнению (1). Функцию y= f(x) называют также интегральной кривой или интегралом дифференциального уравнения (1). Пусть имеется дифференциальное уравнение 1-го порядка, разрешенное относительно первой производной ( 2 ) Мы будем рассматривать только методы решения обыкновенных дифференциальных уравнений. Предполагается, что студент в основном знаком с теорией дифференциальных уравнений из курса «Высшая математика». и производные по ней, и дифференциальные уравнения в частных производных, содержащие несколько независимых переменных и производные по ним, которые называются частными.
3.4. Методы решения дифференциальных уравнений и их систем Чтобы приближенное решение уравнения (2) было возможным, необходимо существование его решения, которое было бы единственным. Для этого достаточно, чтобы функция f(x,y) была непрерывна в заданной области по каждой переменной и имела ограниченную частную производную Найти приближенное численное решение дифференциального уравнения – значит составить таблицу приближенных значений функции у = f(х), удовлетворяющей заданным начальным условиям у = у0 при х = х0 и построить ее график. Сформулированную задачу решения уравнения (2) называют задачей Коши.
3.4. Методы решения дифференциальных уравнений и их систем Поскольку численное решение задачи Коши широко применяется в различных областях науки и техники, то оно в течение многих лет было объектом пристального внимания и число разработанных для него методов очень велико. Напомним здесь только следующие две группы методов решения задачи Коши. 1. Одношаговые методы, в которых для нахождения следующей точки на кривой у=f(х) требуется информация лишь об одном предыдущем шаге. Одношаговыми являются метод Эйлера и методы Рунге-Кутта. 2. Методы прогноза и коррекции (многошаговые), в которых для определения следующей точки кривой у=f(х) требуется информация более чем об одной из предыдущих точек. К числу таких методов относятся методы Милна, Адамса-Башфорта и Хемминга.
3.4. Методы решения дифференциальных уравнений и их систем Метод Эйлера. Это простейший метод решения задачи Коши, позволяющий интегрировать дифференциальные уравнения первого порядка. Его точность невелика, и поэтому на практике им пользуются сравнительно редко. Однако на основе этого метода легче понять алгоритмы других, более эффективных методов. Метод Эйлера основан на разложении функции «у» в ряд Тейлора в окрестностях токи «х0»: Если «h» мало, то члены, содержащие «h» во второй и более высоких степенях, являются малыми более высоких порядков и ими можно пренебречь. Тогда
3.4. Методы решения дифференциальных уравнений и их систем Первая производная находится из исходного дифференциального уравнения, подставив в него начальное условие. Таким образом получаем приближенное значение зависимой переменной при малом смещении (шаге) «h» от начальной точки. Этот процесс можно продолжить, используя соотношение: и делая сколь угодно много шагов. Графически метод Эйлера показан на рисунке 1. Ошибка метода имеет порядок , так как члены, содержащие «h» во второй и более высоких степенях, отбрасываются.
3.4. Методы решения дифференциальных уравнений и их систем Рисунок 1 – Геометрическое представление метода Эйлера
3.4. Методы решения дифференциальных уравнений и их систем Методы Рунге-Кутта. Чтобы удержать в ряде Тейлора член n-го порядка, необходимо каким-то образом вычислить n-ю производную зависимой переменной. При использовании модифицированного метода Эйлера для получения 2-й производной в конечно-разностной форме достаточно знать наклоны кривой на концах рассматриваемого интервала. Чтобы вычислить 3-ю производную в конечно-разностном виде, необходимо иметь значение второй производной по меньшей мере в двух точках. Для этого необходимо дополнительно определить наклон кривой в некоторой промежуточной точке интервала «h», т.е. между хn и хn+1. Следовательно, чем выше порядок вычисляемой производной, тем больше дополнительных вычислений потребуется внутри интервала.
3.4. Методы решения дифференциальных уравнений и их систем Методы Рунге-Кутта дают набор формул для расчета координат внутренних точек, требуемых для реализации этой идеи. Так как существует несколько способов расположения внутренних точек и выбора относительных весов для найденных производных, то методы Рунге-Кутта в сущности объединяет семейство методов решения дифференциальных уравнений 1-го порядка. Наиболее распространенным из них является метод, при котором удерживаются все члены ряда Тейлора, включая . Это метод 4-го порядка точности, для которого ошибка на шаге имеет порядок .
3.4. Методы решения дифференциальных уравнений и их систем Расчеты по этому классическому методу производятся по формуле Метод Эйлера и его модификация по сути являются методами Рунге-Кутта 1-го и 2-го порядка соответственно. По сравнению с ними метод Рунге-Кутта 4-го порядка имеет важное преимущества, так как обеспечивает более высокую точность, которая с лихвой оправдывает дополнительное увеличение объема вычислений. ( 3 )
3.4. Методы решения дифференциальных уравнений и их систем Решение дифференциальных уравнений 1-го порядка. Пример. Дано дифференциальное уравнение с начальным условием у(0)=1,5. Решить это уравнение на интервале [0;1,5] с точностью до e=0,01 . Вычисления провести по методу Рунге-Кутта с двумя запасными знаками. Решение выполним ручным способом. Выбираем шаг интегрирования из условия . Тогда h<0,3 . Для удобства вычислений примем h=0,25. Весь отрезок интегрирования [0; 1,5] разобьем на 6-ть равных частей точками х0=0; х1=0,25; х2=0,50; х3=0,75; х4=1,00; х5=1,25; х6=1,50. Из начальных условий имеем: х0=0; у0=1,5. Найдем первое приближение у1=у0+Δу0, где
3.4. Методы решения дифференциальных уравнений и их систем Используя формулы (3) для расчета коэффициентов, получим: Следовательно, и у1 =1,5+0,3920=1,8920.
3.4. Методы решения дифференциальных уравнений и их систем Продолжая подобные расчеты до х=1,5, получим таблицу значений. У‛= f(x,y), т.е. решение заданного дифференциального уравнения 1-го порядка. Так, у(1,5)=4,74. Для решения дифференциальных уравнений и систем дифференциальных уравнений 1-го порядка на кафедре «Тракторы» разработана подпрограмма RK4, текст (листинг) которой приведен ниже. Procedure RK4(n:integer;y,y1,w:real;Var Z,V:Mas); Var k : integer; ZD:array [1..10] of real; KF:array [1..10,1..4] of real; Dk:array [1..10] of real; //локальн.описание массивов begin //n-число уравнений; у,у1-нач.и конечн .знач. //независ.перем. W-шаг интегрир. Z,V-массивы для //переменных и 1-х производных
3.4. Методы решения дифференциальных уравнений и их систем repeat for k:=1 to n do ZD[k]:=Z[k]; FUN(y,V); for k:=1 to n do KF[k,1]:=w*V[k]; //коэф. k1, w-шаг интегрирования y:=y+w/2; //Отступаем на 0,5 шага FUN(y,V); for k:=1 to n do KF[k,2]:=w*(V[k]+KF[k,1]/2); //коэф. k2 FUN(y,V); for k:=1 to n do KF[k,3]:=w*(V[k]+KF[k,2]/2); //коэф. k3 y:=y+w/2; //Отступаем на полный шаг FUN(y,V); for k:=1 to n do KF[k,4]:=w*(V[k]+KF[k,3]); //коэф. k4
for k:=1 to n do Dk[k]:=(KF[k,1]+2*KF[k,2]+2*KF[k,3]+KF[k,4])/6; //расчет поправок for k:=1 to n do Z[k]:=ZD[k]+Dk[k]; //расчет значений переменных until (y >= y1); end; //RK4 Обращение к подпрограмме RK4 при решении уравнения 1-го порядка: RK4(1,tn,tp,ci,Z,V); где n=1-число уравнений; tn-начальная точка; tp-конечная точка (точка печати); ci-шаг интегрирования;Z, V-массивы переменных и производных. 3.4. Методы решения дифференциальных уравнений и их систем
3.4. Методы решения дифференциальных уравнений и их систем Если шаг интегрирования, обозначенный в головной программе ci (h) и w в подпрограмме RK4 не требует пояснения, то такие переменные, как tn и tp, не используемые в классическом методе Рунге-Кутта 4-го порядка, требуют пояснения. 1. tn – независимая переменная, которая входит в исходное дифференциальное уравнение как Х или t. Мы называем ее начальной точкой. 2. tр – переменная, которая определяет окончание вычислений в подпрограмме RK4 и передает управление в головную программу для печати результатов расчета. Мы называем ее точкой печати. 3. После печати результатов расчета, начальная точка перемещается в точку печати, а точка печати отодвигается на шаг печати «р»: tn:=tp; tp:=tp+p;
3.4. Методы решения дифференциальных уравнений и их систем 4. Расчет заканчивается, когда точка печати достигнет конца отрезка исследования «b» или по другому условию, соответствующего смыслу задачи. Сказанное проиллюстрируем рисунком 2. Рисунок 2 – Геометрическая интерпретация понятий «начальная точка tn» и «точка tp печати» а b Шаг печати «р» tn0 tp0 tpn tn1=tp0 tp1=tp0+p tpn Шаг интегрирования «ci»
3.4. Методы решения дифференциальных уравнений и их систем Относительную точность одношагового метода Рунге-Кутта 4-го порядка продемонстрируем на следующем примере. Решение дифференциальных уравнений 1-го порядка с помощью подпрограммы RK4. Пусть требуется решить уравнение при начальном условии у(0)=1; 0≤х≤1 с шагом h=0,1. Это – линейное уравнение, имеющее следующее точное решение: которое поможет нам сравнить точность, обусловленную методом Рунге-Кутта 4-го порядка. DifUr_1 Procedure FUN(y:real;Var V:Mas); begin V[1]:=2*y*y+2*Z[1]; end; //Fun
3.4. Методы решения дифференциальных уравнений и их систем Как видим из текста подпрограммы FUN, в которой описывается решаемое уравнение, все переменные в правой части уравнения должны быть обозначены через «Z» с соответствующим индексом, а 1-ые производные в левой части уравнения - через «V» также со своим индексом. Решение дифференциальных уравнений более высоких порядков (систем дифференциальных уравнений). Формулы метода Рунге-Кутта 4-го порядка можно использовать для решения уравнений более высоких порядков чем 1-ый, так как любое дифференциальное уравнение n-го порядка можно свести к n дифференциальным уравнениям 1-го порядка, следовательно, использовать их для решения систем дифференциальных уравнений.
3.4. Методы решения дифференциальных уравнений и их систем Например, в дифференциальном уравнении второго порядка можно принять z=dy/dx. Тогда и получаем два уравнения 1-го порядка (систему двух уравнений 1-го порядка) где f(x,y,z) =z. Задача Коши в этом случае содержит два начальных условия
3.4. Методы решения дифференциальных уравнений и их систем Формулы метода Рунге-Кутта 4-го порядка для рассматриваемого случая имеют вид: где Здесь
3.4. Методы решения дифференциальных уравнений и их систем Приведем пример преобразования дифференциального уравнения второго порядка в систему двух уравнений 1-го порядка, отвечающую требованиям кафедральной подпрограммы RK4. Исходное уравнение Начальные условия: при t=0 Введем обозначения Решим исходное уравнение относительно старшей производной « »:
3.4. Методы решения дифференциальных уравнений и их систем 3. Перепишем его, используя принятые обозначения: Получили систему из 2-х дифференциальных уравнений 1-го порядка, почти отвечающей требованиям подпрограммы RK4 (все переменные в правых частях уравнений обозначены через Z с соответствующим индексом). Остается заменить 1-ые производные на V. Для этого переписываем полученную систему, заменяя 1-ые производные на V , сохраняя их индекс:
3.4. Методы решения дифференциальных уравнений и их систем Получили систему уравнений не только полностью отвечающей требованиям подпрограммы RK4, но и текст подпрограммы FUN, в которой описывается решаемая система дифференциальных уравнений. Остается записать в принятых обозначениях начальные условия Пример. Задана система дифференциальных уравнений
3.4. Методы решения дифференциальных уравнений и их систем С начальными условиями х0 = 0,5; у0 = 1; z0 = 1. Найти решение системы при х = 0,6. Вычисления вести с пятью знаками после запятой. Выберем шаг интегрирования h =0,1 и найдем численные значения коэффициентов Рунге-Кутта ki и mi.
3.4. Методы решения дифференциальных уравнений и их систем
3.4. Методы решения дифференциальных уравнений и их систем
3.4. Методы решения дифференциальных уравнений и их систем Следовательно,
3.4. Методы решения дифференциальных уравнений и их систем и окончательно получим значение искомой функции в точке х = 0,6: У1 = 1+0,14672 = 1,14672; z1 = 1+0,13281 = 1,13281. Пример. Исследуем затухающие колебания 2-х пассажиров m = 150 кг на сиденье, жесткость подвески которого составляет ср = 62,3 кН/м с демпфированием kр = 2,75 кН∙с/м. Система имеет следующие начальные условия: при t = 0 перемещение сидения с пассажирами составило z = 0,05 м при нулевой скорости его перемещения . Выберем шаг интегрирования равный h = ci = 0,001 и шаг печати результатов р = 0,001. Расчет закончим, когда перемещение сидения и его скорость станут равными нулю , принимаем точность расчета = 0,001.
3.4. Методы решения дифференциальных уравнений и их систем Свободные колебания массы пассажиров описывается дифференциальным уравнением с начальными условиями: при t = 0 перемещение сидения равно zо = 0,05 м, скорость перемещения равна нулю. Приведем исходное уравнение к «машинному виду», т.е. к виду, отвечающему требованиям подпрограммы RK4. 1. Решим уравнение относительно старшей производной
3.4. Методы решения дифференциальных уравнений и их систем 2. Введем обозначения: z = z1; 3. Запишем уравнение, решенное относительно старшей производной, как систему 2-х уравнений первого порядка с учетом принятых обозначений: 4. Заменим в левых частях уравнений первые производные на буквы V, сохраняя индексы первых производных.
3.4. Методы решения дифференциальных уравнений и их систем 5. Получили систему дифференциальных уравнений первого порядка, полностью отвечающую требованиям подпрограммы RK4 и одновременно текст подпрограммы FUN, в которой описывается решаемая система дифференциальных уравнений. Перепишем в принятых обозначениях начальные условия: Покажем как выглядят листинги (тексты) некоторых подпрограмм. S_DUr
3.2. Методы решения дифференциальных уравнений и их систем unit Global; interface type Mas=array[1..10] of real; Var Z,V : Mas; s1,s2 : string; Fr,Fw,Fww : TextFile; FIO,nGr : string; ci,p,tn,tp,m,Cp,kp,e : real; procedure Fun(y:real;Var V:Mas); procedure RK4(n:integer;y,y1,w:real;Var Z,V:Mas); procedure Tab1; Procedure Lin(NP,NZ,n,Disk:integer;Simvol:char); implementation
3.2. Методы решения дифференциальных уравнений и их систем procedure FUN(y:real;Var V:Mas); begin V[1]:=Z[2]; V[2]:=-1000*(Kp*Z[2]+Cp*Z[1])/m; end; procedure Tab1; begin writeln(Fw,' ':11,'Решение системы дифференциальных'); writeln(Fw,' ':22,'уравнений'); writeln(Fw); writeln(Fw,'':5,'Расчет выполнил','':2,FIO); writeln(Fw,'':5,'Группа','':5,nGr); writeln(Fw);
3.4. Методы решения дифференциальных уравнений и их систем writeln(Fw); writeln(Fw,'':16,'Исходные данные'); writeln(Fw,'':5,'Масса, кг',m:28:3); writeln(Fw,'':5,'Жесткость подвески, кН/м',cp:13:3); writeln(Fw,'':5,'Демпфир. в подвеске, кН.с/м',kp:10:3); writeln(Fw); writeln(Fw,'':15,'Результаты расчета'); Lin(3,47,1,1,'-'); writeln(Fw,'':5,'t, с : z[1], м : z[2], м/с :', ' V[2], м/с2'); Lin(3,47,1,1,'-'); end;
3.4. Методы решения дифференциальных уравнений и их систем procedure TForm1.FormCreate(Sender: TObject); begin DecimalSeparator:='.'; AssignFile(Fr,'S_DUr.Dat'); Reset(Fr); readln(Fr,FIO); readln(Fr,nGr); readln(Fr,ci,p,Z[1],z[2]); readln (Fr,m,cp,kp,e); CloseFile(Fr); Edit1.Text:=FIO; Edit2.Text:=nGr; Edit3.Text:=FloatToStr(m); Edit4.Text:=FloatToStr(cp); Edit5.Text:=FloatToStr(kp); Edit6.Text:=FloatToStr(Z[1]); Edit7.text:=FloatToStr(Z[2]); Edit8.text:=FloatToStr(ci); Edit9.text:=FloatToStr(p); Edit10.text:=FloatToStr(e); end;
3.4. Методы решения дифференциальных уравнений и их систем procedure TForm1.btn1Click(Sender: TObject); //Расчёт Var i,Count,Current : integer; tmax:real; begin FIO:=Edit1.Text; nGr:=Edit2.Text; m:=StrToFloat(Edit3.Text); cp:=StrToFloat(Edit4.Text); kp:=StrToFloat(Edit5.Text); Z[1]:=StrToFloat(Edit6.Text); Z[2]:=StrToFloat(Edit7.Text); ci:=StrToFloat(Edit8.Text); p:=StrToFloat(Edit9.Text); e:=StrToFloat(Edit10.Text); AssignFile(Fw,'S_DUr.Dat'); Rewrite(Fw); writeln(Fw,FIO); writeln(Fw,nGr); writeln(Fw,ci:10:6,p:10:3,Z[1]:10:3,Z[2]:10:3); writeln(Fw,m:10:3,Cp:10:3,kp:10:3,e:10:4); CloseFile(Fw); uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Global, Gauges, ComCtrls,Math,Unit2,XPMan;
3.4. Методы решения дифференциальных уравнений и их систем i:=1; tn:=0; tp:=p; tmax:=1000; //задание начальных значений AssignFile(Fw,'A.Rez'); Rewrite(Fw); AssignFile(Fww,'GrA.Dat'); Rewrite(Fww); Tab1; repeat RK4(2,tn,tp,ci,Z,V); writeln(Fw,' ':2,tp:8:4,Z[1]:12:4,Z[2]:12:4,V[2]:12:4); writeln(Fww,' ':1,tp:8:4,Z[1]:12:4,Z[2]:12:4,V[2]:12:4); tn:=tp; tp:=tp+p; Inc(i); //смена пределов интегрирования Count:=ceil(1e4*tmax); //обслуживание индикатора Current:=ceil(1e4*tp); Form1.Gauge1.Progress:=100*Current div Count; until (abs(V[2])
Form1.Visible:=false; //Убрать 1-ю форму с экрана with TForm2.Create(Application) do try ShowModal; //показать модально 2-ю форму finally free; end; Form1.Visible:=true; //показать 1-ю форму end; //Окончание модуля Unit1 3.4. Методы решения дифференциальных уравнений и их систем procedure TForm3.FormCreate(Sender: TObject); Var x,y1,y2,y3 : real; Fr : TextFile; begin AssignFile(Fr,'GrA.Dat'); Reset(Fr); PageControl1.ActivePageIndex:=0; repeat readln(Fr,x,y1,y2,y3); Series1.AddXY(x,y1,'',clTeeColor); Series2.AddXY(x,y2,'',clTeeColor); Series3.AddXY(x,y3,'',clTeeColor); Series4.AddXY(x,y1,'',clTeeColor); Series5.AddXY(x,y2,'',clTeeColor); Series6.AddXY(x,y3,'',clTeeColor); Series7.AddXY(y1,y2,'',clTeeColor); until EOF(Fr); CloseFile(Fr); end;
3.4. Методы решения дифференциальных уравнений и их систем Решение систем дифференциаль-ных уравнений, содержащих уравнения с несколькими старшими производными. Примером таких систем может служить система дифференциальных уравнений, описывающих колебания Рисунок 3 – Р асчетная схема для исследований колебаний масс мобильной машины
3.4. Методы решения дифференциальных уравнений и их систем подрессоренной и не подрессоренных масс мобильной машины (автомобиль, трактор, тягач, троллейбус и т.п.), рисунок 3: с нулевыми начальными условиями. Видно, что первые два уравнения содержат вторые производные по координатам z1 и z2. Эти уравнения необходимо решить относительно старших производных. Покажем как это можно сделать. ( 4 )
3.4. Методы решения дифференциальных уравнений и их систем Понизим порядок всех уравнений, входящих в исходную систему до 1-го, приняв обозначения: и перепишем исходную систему уравнений в принятых обозначениях (обозначения переменных через «х» сделано, чтобы не путать обобщенные координаты z1 и z2 с обозначением «Z», требуемое подпрограммой RK4).
3.4. Методы решения дифференциальных уравнений и их систем Таким образом, получена система уравнений 1-го порядка, решенных относительно старших производных. Только 3-е и 4-е уравнение не решены относительно старших производных. ( 5 )
3.4. Методы решения дифференциальных уравнений и их систем Решить эти уравнения относительно старших производных можно одним из способов, предварительно записав уравнения в следующем виде. 1. способ. Воспользуемся формулой Крамера. Тогда можно записать: ( 6 ) ( 7 )
3.4. Методы решения дифференциальных уравнений и их систем 2. способ. Систему «n» уравнений первого порядка (6) можно решить методом Гаусса относительно всех «n» первых производных. Рекомендация. Если в системе дифференциальных уравнений 1-го порядка только два уравнения не решены относительно старших производных – лучше воспользоваться для ее решения формулой Крамера. В противном случае (число уравнений не решенных относительно старших производных три и более) рекомендуется использовать метод Гаусса с ведущим элементом.
3.4. Методы решения дифференциальных уравнений и их систем Приведем систему дифференциальных уравнений (5) к «машинному виду», чтобы она полностью отвечала требованиям подпрограммы RK4. Для этого вместо 2-го и 3-го уравнений подставим их значения по выражениям (7). Затем все неизвестные в правых частях уравнений заменим на переменные «Z», сохраняя тот же индекс, а первые производные в левых частях уравнений заменим на переменные «V», сохранив их индексы. Таким образом получим систему уравнений 1-го порядка полностью отвечающей требованиям подпрограммы RK4 и одновременно текст подпрограммы Fun, в которой описывается решаемая исходная система 4-х дифференциальных уравнений (4) второго порядка, преобразованная в систему 8-ми уравнений первого порядка.
3.4. Методы решения дифференциальных уравнений и их систем Окончательно исходная система дифференциальных уравнений имеет следующий вид.
3.4. Методы решения дифференциальных уравнений и их систем Решение дифференциальных уравнений и их систем с помощью пакета MathCAD. MathCAD имеет возможность решать дифференциальные уравнения и системы с такими уравнениями в численном виде. В большинстве случаев желательно представление решений дифференциальных уравнений и их систем в графическом виде, что и позволяет MathCAD. Функции для решения обыкновенных дифференциальных уравнений и их систем. Для решения задач такого класса MathCAD имеет ряд встроенных функций. Вначале рассмотрим функции, дающие решения для систем дифференциальных уравнений.
3.4. Методы решения дифференциальных уравнений и их систем rkadapt(y,x1,x2,acc,n,F,k,s) – возвращает матрицу, содержащую таблицу решения на интервале от х1 до х2 для системы обыкновенных дифференциальных уравнений, вычисленную методом Рунге-Кутта с переменным шагом и начальными условиями в векторе «у». Правые части системы записаны в векторе F; n – число шагов; k – максимальное число промежуточных точек решения; s – минимально допустимый интервал между точками. Rkadapt (y,x1,x2,n,F) – возвращает матрицу решений методом Рунге-Кутта с переменным шагом для системы дифференциальных уравнений с начальными условиями в векторе «у», правые части которых записаны в символьном векторе F; на интервале от х1 до х2; n – число шагов. rkfixed(y,x1,x2,n,F) - возвращает матрицу решений методом Рунге-Кутта системы обыкновенных дифференциальных уравнений с начальными условиями в векторе «у», правые части которыз записаны в символьном векторе «F», на интервале от х1 до х2 при фиксированном числе шагов «n».
3.4. Методы решения дифференциальных уравнений и их систем Решение дифференциальных уравнений 1-го порядка. Пример. Решить уравнение у‛=2t²+2y. Начальное условие t=0; y=1. Точное решение Решение. Для решения используем функцию Odesolve(t,1) с блоком Given. Решаемое уравнение Начальное условие Обращение к функции Точное решение «жирный» знак равно «жирный» знак равно Перед написанием имен функций с индексами следует поставить курсор на место прямоугольника и напечатать запятую
3.4. Методы решения дифференциальных уравнений и их систем Решение дифференциальных уравнений 2-го и более высоких порядков. Пример. Решить уравнение у+0,1у‛+у=0. Начальные условия х=0; у=0,1; у‛=0. Решение. Чтобы решить это уравнение необходимо понизить его порядок до 1-го. Тем самым получим систему из двух дифференциальных уравнений 1-го порядка. Обозначим у=у0. Тогда у‛=у0‛=у1 и получаем следующую систему дифференциальных уравнений 1-го порядка: Для решения используем функцию rkfixed(y0,0,50,M,D).
3.4. Методы решения дифференциальных уравнений и их систем Начальные условия Решаемая система Число «шагов» Обращение к функции Индексы Выбрать: 2 строки; 1 столбец Выбрать: 2 строки; 1 столбец
3.4. Методы решения дифференциальных уравнений и их систем Графическое решение дифференциального уравнения Перед написанием имен функций с индексами следует поставить курсор на место прямоугольника и напечатать запятую
3.4. Методы решения дифференциальных уравнений и их систем Решение уравнения Начальные условия : при х = 0, у = 1. Пределы изменения независимой х : 0 ≤ х ≤ 1 Шаг интегрирования h = 0,1
3.4. Методы решения дифференциальных уравнений и их систем Конец
36-differencialynye_uravn.ppt
- Количество слайдов: 57

