КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Текст программы
Усовершенствованный метод Эйлера Модифицированный метод Эйлера Метод Эйлера Применение интерполяционных многочленов. Преподаватель: доцент, к.ф.-м.н. Хасаншин Р. Х. Студенты: Шиков Е.А., Румянцев Д.Р. Вариант: 5
Москва, 2014
Оглавление.
Задание. Каждой «паре» решить свое дифференциальные уравнения, используя следующие методы: ; (1) , ; (2) ; (3) Метод Рунге-Кутта четвертого порядка (4) , , , . А). , , [0, 2] Б. Методом Эйлера и методом Эйлера-Кромера решить задачи Коши из Методического пособия (задачи о колебаниях)
Задача А. { return (2*x*pow(u,2))/(1-pow(x,2)); } double f0(double x) //Решенное дифф урав для точного решения пара 5 { return 1/(log(-pow(x,2)+1)+1); }*/ double f1(double x, double u) //Задача для пары 3 { return (4*x+2*u)/(2*x+1); } double f0(double x) //Решенное дифф урав для точного решения пара 3 { return 2*(x+1)+(log(2*x+1))*(2*x+1); } /* double f1(double x, double u) //Задача для пары 8 { return 1/(2*u+x); } double f0(double x) //Решенное дифф урав для точного решения пара 8 { return -x/2-1; }*/ double f2(double t) //Для задачи Б { double l=1, x0=1, w0=0.5, teta=sqrt(pow(l,2)-pow(w0,2)); return x0*exp(-l*t)*(cosh(teta*t)+l/teta*sinh(t*teta)); }
double b=2,a=0,u0=2; //Начальные условия задачи A double l=1, x0=1, w0=0.5, a1=0, b1=6/l; //Начальные условия задачи Б double h,N,P,k0,k1,k2,k3; double x[300],y0[300],y1[300],y2[300],y3[300],y4[300],yp2[300], yp3[300], dy1[300],dy2[300],dy3[300],dy4[300]; double v1[300],v2[300],f[300],x1[300],x2[300],osh1[300],osh2[300], osh3[300], t[300];
ofstream myfile;
/// <summary> /// Summary for Form1 /// </summary> public ref class Form1: public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: Add the constructor code here
// }
protected: /// <summary> /// Clean up any resources being used. /// </summary> ~Form1() { if (components) { delete components; } } Задача Б. private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { N=N.Parse(this->textBox1->Text); x[0]=a; y1[0]=u0; y2[0]=u0; y3[0]=u0; y4[0]=u0; y0[0]=u0; dy1[0]=0; dy2[0]=0; dy3[0]=0; dy4[0]=0; t[0]=0; f[0]=1, v1[0]=0, v2[0]=0,x1[0]=1,x2[0]=1,osh1[0]=0,osh2[0]=0; if (checkBox1->Checked) { h=(b-a)/N; for (int i=0;i<=N;i++) { x[i+1]=x[i]+h; y1[i+1]=y1[i]+h*f1(x[i],y1[i]); y2[i+1]=y2[i]+0.5*h*(f1(x[i],y2[i])+f1(x[i+1],y2[i]+h*f1(x[i],y2[i]))); y3[i+1]=y3[i]+h*f1(x[i]+0.5*h,y3[i]+0.5*h*f1(x[i],y3[i])); k0=f1(x[i],y4[i]); k1=f1(x[i]+h/2,y4[i]+h*k0/2); k2=f1(x[i]+h/2,y4[i]+h*k1/2); k3=f1(x[i]+h,y4[i]+h*k2); y4[i+1]=y4[i]+h/6*(k0+2*k1+2*k2+k3); y0[i+1]=f0(x[i+1]); dy1[i+1]=abs(y0[i+1]-y1[i+1]); dy2[i+1]=abs(y0[i+1]-y2[i+1]); dy3[i+1]=abs(y0[i+1]-y3[i+1]); dy4[i+1]=abs(y0[i+1]-y4[i+1]); } } if (checkBox2->Checked) { h=(b1-a1)/N; for (int i=0;i<=N;i++) { t[i+1]=h*(i+1); f[i+1]=f2(t[i]); v1[i+1]=v1[i]+h*(-2*l*v1[i]-pow(w0,2)*x1[i]); x1[i+1]=x1[i]+h*v1[i]; v2[i+1]=v2[i]+h*(-2*l*v2[i]-pow(w0,2)*x2[i]); x2[i+1]=x2[i]+h*v2[i+1]; osh1[i+1]=f[i+1]-x1[i+1]; osh2[i+1]=f[i+1]-x2[i+1]; } } }
Дата добавления: 2014-12-26; Просмотров: 423; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |