13.03.2014, 15:55 | #1 (permalink) |
Новичок
Регистрация: 13.03.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Решить систему дифференциальных уравнений
Помогите,плиз.Мне нужно решить систему дифференциальных уравнений с начальными условиями,действующая на отрезке [0,2pi] методом Эйлера.И подсчитать в определённой точке.Подскажите правильно ли?(скинула как картинку) y'(x)=z z'(x)=-(\alpha +\beta *cos(x))*y w'(x)=g g'(x)=-(\alpha +\beta *cos(x))*w |
13.03.2014, 15:55 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Пожалуйста, не забудьте прочитать данные темы Решить систему линейных уравнений методом Зейделя Решите систему линейных уравнений методом простой итерации Решение уравнений методом Ньютона |
13.03.2014, 17:25 | #4 (permalink) |
Новичок
Регистрация: 13.03.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Это какие-то числа.альфа принадлежит отрезку [0,0.101],а бета положительная и должна быть меньше либо равна альфа.В моей задачке я взяла за альфу 0.07,а за бета 0.02
|
13.03.2014, 17:27 | #5 (permalink) |
Новичок
Регистрация: 13.03.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Если знаете как решить,можно не Эйлером)
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
15.03.2014, 14:57 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Очень жаль. Если бы Вы скинули листинг, как текст, то можно было бы потестировать Вашу программу, а набивать вручную - увольте!И да, и нет.
Ход построения программы в целом правильный (вот только не знаю, зачем Вам очистка файлового буфера; за многие годы, что я занимаюсь программированием, не было случая, чтобы оно мне понадобилось. Ну да дело Ваше). Но!!! Поймите - компьютер это не Ваша подружка, которая поймёт Вас с полуслова. Он (компьютер) общих идей и общих соображений не воспринимает. То есть напрочь. Ему, тупице, нужно, чтобы всё было расписано точно, аккуратно и однозначно, а не "абы как, и так сойдёт, ну ясно же, что...". А что мы видим в Вашем листинге? 1. В перечне параметров функции F вместо g воткнут опять же f. 2. Четыре изменяемых в цикле переменных обозначены то y1-y4, то y_1-y_4, т.е. то с подчерками, то без. Как говорится, "как Бог на душу положит". Никуда не годится! Внимательность, точность, аккуратность - вот девизы программиста. Успехов! |
19.03.2014, 12:40 | #7 (permalink) | ||
Новичок
Регистрация: 13.03.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
система оду
Помогите,пожалуйста)система дифференциальных уравнений с начальными условиями(y(0)=1,z(0)=0,w(0)=0,g(0)=0).x принадлежит отрезку [0,2pi].Альфа и бета-числа,уд. условиям. альфа принадл. отрезку [0,0.101],а бета строго больше нуля,но меньше или равно альфа.
y'(x)=z z'(x)=-(альфа+бета*cos(x))*y w'(x)=g g'(x)=-(альфа+бета*cos(x))*w В программе я взяла альфа=0.09,а бета=0.05.Прога ,которая ниже у меня ПРЕДСТАВЛЕНА идёт,но ответ получается не такой какой мне нужно,посмотрите,может у меня где-то недочёт.Критика...зачем листинг скинула не принимается
|
||
19.03.2014, 12:43 | #8 (permalink) |
Новичок
Регистрация: 13.03.2014
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Код Pascal
program Euler; var T : Text; a, b, h, x: real; y, z, w, g, y_1, y_2, y_3, y_4 : real; function F(x, y, z, w, g: real; n:byte):real; begin case n of 1: f:=z; 2: f:=-(0.09+0.05*cos(t))*y; 3: f:=g; 4: f:=-(0.09+0.05*cos(t))*w; end; end; begin assign(T, 'c:\euler.txt'); rewrite(T); a:=0; b:=2*pi; h:=pi/40; y:=1; z:=0; w:=0; g:=0; x:=a; while x<=b+h do begin writeln(T, x:10:5, y:10:5, z:10:5, w:10:5, g:10:5); y_1:=y+h*f(x, y, z, w, g, 1); y_2:=z+h*f(x, y, z, w, g, 2); y_3:=w+h*f(x, y, z, w, g, 3); y_4:=g+h*f(x, y, z, w, g, 4); y:=y_1; z:=y_2; w:=y_3; g:=y_4; x:=x+h; end; flush(T); close(T); end. |
19.03.2014, 14:10 | #9 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Есть такой. Честно говоря, я вообще не понимаю, как Вы ухитрились оттранслировать программу: ведь в функции F у Вас аргументом косинуса является t - файловая переменная!!! Да любой транслятор должен визг поднять на всю Ивановскую - а у Вас тишь да гладь, вот только результат какой-то не тот...
Чудеса! |
19.03.2014, 15:30 | #10 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Догадываюсь, что Вас смущает: тождественно-нулевые значения функций w и g во всём диапазоне. Так? Ну, не знаю: вроде так оно и быть должно. Ведь получается, что решение w(x)≡0, w'(x)≡0, g(x)≡0 и g'(x)≡0 для любого x полностью удовлетворяет как второй паре уравнений, так и граничным условиям! Так что, боюсь, тут из нулей не выпрыгнуть.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|