• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Решить систему дифференциальных уравнений

  • Автор темы Автор темы Maryam
  • Дата начала Дата начала

Maryam

Ученик
Регистрация
13 Мар 2014
Сообщения
6
Реакции
0
Баллы
0
Решить систему дифференциальных уравнений

Помогите плиз,нужно решить,а то у меня не совсем то что нужно получается.
Помогите,плиз.Мне нужно решить систему дифференциальных уравнений с начальными условиями,действующая на отрезке [0,2pi] методом Эйлера.И подсчитать в определённой точке.Подскажите правильно ли?(скинула как картинку)
y'(x)=z
z'(x)=-(\alpha +\beta *cos(x))*y
w'(x)=g
g'(x)=-(\alpha +\beta *cos(x))*w
 

Вложения

  • IMG_NEW.webp
    IMG_NEW.webp
    119.5 KB · Просмотры: 81
Тут начальные условия y(0)=1,z(0)=0,w(0)=0,g(0)=0
 
А что такое \alpha и \beta?
 
Это какие-то числа.альфа принадлежит отрезку [0,0.101],а бета положительная и должна быть меньше либо равна альфа.В моей задачке я взяла за альфу 0.07,а за бета 0.02
 
Если знаете как решить,можно не Эйлером)
 
(скинула как картинку)
Очень жаль. Если бы Вы скинули листинг, как текст, то можно было бы потестировать Вашу программу, а набивать вручную - увольте!
Подскажите правильно ли?
И да, и нет.
Ход построения программы в целом правильный (вот только не знаю, зачем Вам очистка файлового буфера; за многие годы, что я занимаюсь программированием, не было случая, чтобы оно мне понадобилось. Ну да дело Ваше).
Но!!! Поймите - компьютер это не Ваша подружка, которая поймёт Вас с полуслова. Он (компьютер) общих идей и общих соображений не воспринимает. То есть напрочь. Ему, тупице, нужно, чтобы всё было расписано точно, аккуратно и однозначно, а не "абы как, и так сойдёт, ну ясно же, что...". А что мы видим в Вашем листинге?
1. В перечне параметров функции F вместо g воткнут опять же f.
2. Четыре изменяемых в цикле переменных обозначены то y1-y4, то y_1-y_4, т.е. то с подчерками, то без. Как говорится, "как Бог на душу положит".
Никуда не годится! Внимательность, точность, аккуратность - вот девизы программиста.
Успехов!
 
система оду

Помогите,пожалуйста)система дифференциальных уравнений с начальными условиями(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.Прога ,которая ниже у меня ПРЕДСТАВЛЕНА идёт,но ответ получается не такой какой мне нужно,посмотрите,может у меня где-то недочёт.Критика...зачем листинг скинула не принимается

[mod2]Ну и для чего было вторую тему по той же задаче открывать?
Темы объединены.

Модератор[/mod2]
 

Вложения

Код 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.
 
посмотрите,может у меня где-то недочёт
Есть такой. Честно говоря, я вообще не понимаю, как Вы ухитрились оттранслировать программу: ведь в функции F у Вас аргументом косинуса является t - файловая переменная!!! Да любой транслятор должен визг поднять на всю Ивановскую - а у Вас тишь да гладь, вот только результат какой-то не тот...
Чудеса!
 
ответ получается не такой какой мне нужно
Догадываюсь, что Вас смущает: тождественно-нулевые значения функций w и g во всём диапазоне. Так? Ну, не знаю: вроде так оно и быть должно. Ведь получается, что решение w(x)≡0, w'(x)≡0, g(x)≡0 и g'(x)≡0 для любого x полностью удовлетворяет как второй паре уравнений, так и граничным условиям! Так что, боюсь, тут из нулей не выпрыгнуть.
 
Назад
Сверху