КАТЕГОРИИ: Архитектура-(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) |
Создание макросов
Автоматизация вычислений в Excel Порядок работы Метод Рунге-Кутта Одним из наиболее распространенный методов решения дифференциального уравнения вида у'=f(x,y) на заданном отрезке [Xнач,Хкон] с начальными условиями является метод Рунге-Кутта. При решении данного уравнения точное значение y заменяют его приближенным значением: Y i+1 =Y i +(К1+2К2+2К3 +К4)/6, (6.29) где значения коэффициентов на i-том шаге вычисляются по формулам: К1 =h*f(xi,yi) K2 =h*f(xi +0.5h,yi +0.5K1) K3 =h*f(xi +0.5h,yi +0.5K2) (6.30) K4 =h*f(xi+h,yi +K3) Здесь хi+1 =xi +h. Значение шага при переходе к следующей точке можно изменять. Правильность выбора шага проверяется по формуле Т=|(К2 - К 3)/(К1 - К2)|, (6.31) величина Т не должна превышать нескольких сотых. Для проверки точности необходимо сделать второй проход с шагом h/2. Если разница между Yi+1 и Yi на k+1 и k проходах будет меньше требуемой точности, то процесс вычисления прекращается. Значение точности выбирают в интервале от 0.001 до 0.00001. Грубую оценку погрешности метода проводят по формуле Yk - Y(xi)= |Yk+1 - Yk |/15, (6.32) где Y(xi) - значение точного решения уравнения. Для решения задачи необходимо вычислить значения коэффициентов К1 – К4 при начальных условиях, выбрать начальный шаг и вычислить значения Xi и Yi. Затем увеличить значение х и повторить процедуру вычисления. Пример 6.9. Решить дифференциальное уравнение первого порядка dY/dx=2(x2+Y) методом Рунге-Кутта при 0<=x<=1, Y(0)=1, шаг h=0.1. Для этой задачи имеется аналитическое выражение Y=1.5е2х – х2 – х – 0.5. (6.33)
- запишите исходные данные в строку 2; - заполните шапку таблицы согласно Листингу 6.19; - сгенерируйте в ячейки A4:A14 значения аргумента; - запишите в ячейки В4 и G4 начальное значение Y(0); - Запишите в ячейки расчетные формулы со ссылками на ячейки таблицы: коэффициент К1, ячейка C5 - $B$2*2*(A4^2+G4); коэффициент К2, ячейка D5 - $B$2*2*((A4+$B$2/2)^2+(G4+C5/2)); коэффициент К3, ячейка E5 - $B$2*2*((A4+$B$2/2)^2+(G4+D5/2)); коэффициент К4, ячейка F5 - $B$2*2*((A4+$B$2)^2+(G4+E5)); Y, ячейка G5 - G4+(C5+2*D5+2*E5+F5)/6; - в ячейку B5 запишите формулу: = G5; - в ячейку I5 запишите формулу (6.31) для контроля выбора шага (D5-E5)/(C5-D5). - скопируйте формулы из ячеек В5:I5 в нижележащие ячейки Сравнительные результаты вычисления дифференциального уравнения в примере 6.9 методом Рунге-Кутта и методом Эйлера и по аналитической формуле приведены на листинге 6.18. Из таблицы видно, что метод Рунге-Кутта позволяет получить результаты с высокой точностью во всем диапазоне изменения значения аргумента, чего нельзя сказать о методе Эйлера.
Для автоматизации выполнения часто повторяющихся операций, например форматирования выделенных ячеек, оформления шапок таблиц и т. п. в Excel можно создавать макрокоманды – макросы. Удобнее всего макросы создавать путем записи. Правда, при этом в макрос записываются все действия пользователя, в том числе и ошибочные. Однако, если алгоритм работы продуман, то проблем не возникает.
Дата добавления: 2014-01-06; Просмотров: 203; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |