Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.
Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.
Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.
Ну так а что же мне остаётся, если почти идентичные задачи в последние дни посыпались, как из рога изобилия? И никто не хочет взять готовый шаблон (ссылки выше) и, приложив минимальные усилия, адаптировать готовые решения к своей задаче. Нет, каждому распиши от и до, чтобы осталось тупо бездумно скатать и сдать.ну что же вы так со мной строго
Уважаемый Cbvrf86, ну что же - давайте разбираться. Прежде всего, откроем вот эту ссылку и внимательно просмотрим статью. Так вот, вначале там действительно описывается метод Эйлера, но дальше есть раздел "Модифицированный метод Эйлера с пересчетом", иначе называемый методом Рунге-Кутты второго порядка. Именно по этому алгоритму и решались задачи Танечки и других.Уважаемый Владимир, в представленных примерах, (не могу дать ссылку т.к у меня менее 20 сообщений) у пользователя Tanechka вы дали решение по методу Эйлера, хотя в задании сказано по методу Рунге-КуттЫ 2го порядка с коррекцией в средней точке, они различаются.
Так. Вас-то убедил, а сам сейчас рассмотрел - нет, есть-таки различиехорошо вы меня убедили =) хотя я не вижу чем эти формулы идентичны
Const
Eps=0.0001;
h=0.1;
N=10;
Var
I:Array[0..N] of Real;
j:integer;
t,Z,k:Real;
Function G(p:real):Real;
begin
G:=p*p*p*p*p-p*p*p-3.0;
end;
Function EQRoot:real;
var
a,b,c:real;
begin
a:=1.0;
b:=2.0;
Repeat
c:=(a+b)/2;
if G(a)*G(c)<0 then b:=c else a:=c;
Until b-a<Eps;
EQRoot:=c;
end;
Function F(x,y,q:real):real;
begin
F:=1-Sin(q*x+y)+y/(x+2);
end;
Begin
k:=EQRoot;
Writeln('k= ',k:0:5);
I[0]:=1;
t:=0;
writeln('t= ',t:3:1,' I= ',I[0]:6:3);
for j:=1 to N do
begin
t:=t+h;
Z:=I[j-1]+h/2*F(t-h,I[j-1],k);
I[j]:=I[j-1]+h*F(t-h/2,Z,k);
writeln('t= ',t:3:1,' I= ',I[j]:6:3);
end;
Readln
End.
Нельзя. Потому как куча ошибок. На будущее: работу над программой можно считать законченной только после запуска, проверки, тестирования и т.д. Тогда и вылезут перлы вроде незакрытой скобки втакой вот кусок кода у меня получился =) то же самое можно сказать
Удачи!да вы конечно правы, если бы вы не написали всю программу, я бы писал программу кусками, (делал бы из них работоспособную программу) и там да уже все ошибки бы вылезли, а 0+t это просто переделывал прошлую формулу, ну и при замене не подумал что можно было просто t оставить, а я 0 зачем то приписал.
Сударь, не надо небылиц: если постусловие не выполнено, то и цикл закончится ну никак не может. И не заканчивается. Вот что вижу я (добавлен ТОЛЬКО вывод промежуточных результатов, остальное сохранено, как есть):последний интервал, после которого цикл заканчивается: [1.42621;1.42639] k=1.42630 НО b-a=0.00018 и оно никак не меньше Eps=0.0001

За содержимое Ваших методичек не отвечаю, но по-моему, чушь несусветная. По крайней мере то, что знаю я по половинному делению, это что расчет заканчивается, когда длина интервала станет меньше заданной точности. Впрочем, поскольку окончательный результат есть (b-a)/2, то можно и так. Тоже годится.и еще одно по моей методичке написано что должна быть (b-a)/2 а вы написали b-a, тоже вопрос где опечатка у меня или у вас
И зачем, интересно, лезть в отрицательную область, когда в условии записано "первый положительный корень"? Ну можно, конечно, ежели очень хочется.[-1.5;1.5] вот из этого интервала он начинает искать
А вот с этого места, пожалуйста, поподробнее. Это как же Вам такое удалось?я подшаманил код, и теперь программа сама находит нужный интервал. в отличии от заданного заранее
Да, соглашусь - так лучше.Изменения пометил синим. т.к. "с"