Visual Basic_Практикум (1108584), страница 7
Текст из файла (страница 7)
Известны начальные условия задачи Коши, шаг интегрирования и точность вычислений .При решении дифференциального уравнения на каждом из элементарных отрезков [ , + ] необходимо выбрать оптимальный шагинтегрирования. Для этого сравнивают приближенные значенияфункции ( + ), полученные при шагах: и 2;2и 4; . . .и2.Сравнивать следует значения функции в одной и той же точке + .Это означает, что на отрезке * , + + при шаге 2 потребуется в двараза больше итераций для получения значения функции в точке + , чем при шаге .На каждом элементарном отрезке шаг уменьшается вдвое до тех пор,пока относительная погрешность вычислений функции не станетменьше : 2 − ≤ Результаты расчетов представить в виде таблицы, содержащей значения , , ′ , оптимального шага 2 и числа разбиений 2.Условимся каждую пару значений , в таблице полученных значенийназывать узлом. При расчете каждого последующего значения у в качестве 0 следует принимать значение у из предыдущего узла.Для организации в программе итерационных вычислений функции накаждом элементарном отрезке использовать целочисленный циклFor … Next.86Вариант 12.1 ′ = − − 0,3 ⋅ , 0 =0на отрезке по от 0 до 8 с шагом = 0,4 и точностью = 0,001.xyy'h/2n2n------------------------------------------------00,00001,0E+0000,40,30965,8E-0017,8e-0045120,80,48243,0E-0013,1e-0031281,20,56741,3E-0016,3e-003641,60,59672,3E-0026,3e-003642,00,5921-4,2E-0021,3e-002322,40,5675-8,0E-0022,5e-002162,80,5318-9,9E-0025,0e-00283,20,4909-1,1E-0011,0e-00143,60,4481-1,1E-0012,0e-00124,00,4055-1,0E-0012,0e-00124,40,3651-9,7E-0021,0e-00144,80,3274-9,0E-0025,0e-00285,20,2928-8,2E-0025,0e-00285,60,2612-7,5E-0025,0e-00286,00,2326-6,7E-0025,0e-00286,40,2069-6,0E-0025,0e-00286,80,1839-5,4E-0025,0e-00287,20,1633-4,8E-0025,0e-00287,60,1449-4,3E-0025,0e-00288,00,1286-3,8E-0025,0e-002887Вариант 12.2 ′ = cos + sin () , 2,5 = 0на отрезке по от 2,5 до 4,0 с шагом = 0,25 и точностью = 0,001.xyy'h/2n2n------------------------------------------------2,500,00001,6E+0002,750,36761,3E+0002,0e-0031283,000,65029,4E-0012,0e-0031283,250,83755,6E-0013,9e-003643,500,93702,4E-0013,9e-003643,750,9661-3,0E-0037,8e-003324,000,9435-1,7E-0017,8e-0033288Вариант 12.3′ =1,+ 0 =1на отрезке по от 0 до 8 с шагом = 0,5 и точностью = 0,001.xyy'h/2n2n------------------------------------------------0,001,00001,0E+0000,501,35725,4E-0013,9e-0031281,001,58493,9E-0011,6e-002321,501,75793,1E-0013,1e-002162,001,89952,6E-0016,3e-00282,502,01952,2E-0016,3e-00283,002,12502,0E-0011,3e-00143,502,21861,7E-0011,3e-00144,002,30391,6E-0012,5e-00124,502,38141,5E-0012,5e-00125,002,45271,3E-0012,5e-00125,502,51851,2E-0012,5e-00126,002,57981,2E-0012,5e-00126,502,63721,1E-0012,5e-00127,002,69111,0E-0012,5e-00127,502,74209,8E-0022,5e-00128,002,79019,3E-0022,5e-001289Вариант 12.4 ′ = − − 0,2 ⋅ 2 , 0 =0на отрезке по от 0 до 10 с шагом = 0,5 и точностью = 0,001.xyy'h/2n2n------------------------------------------------0,000,00001,0E+0000,500,38795,8E-0019,8e-0045121,000,60113,0E-0013,9e-0031281,500,70301,2E-0017,8e-003642,000,73902,6E-0021,6e-002322,500,7378-2,7E-0021,6e-002323,000,7174-5,3E-0023,1e-002163,500,6879-6,4E-0026,3e-00284,000,6551-6,8E-0022,5e-00124,500,6214-6,6E-0022,5e-00125,000,5888-6,3E-0022,5e-00125,500,5580-5,8E-0022,5e-00126,000,5298-5,4E-0021,3e-00146,500,5038-4,9E-0021,3e-00147,000,4799-4,5E-0021,3e-00147,500,4581-4,1E-0021,3e-00148,000,4380-3,8E-0021,3e-00148,500,4194-3,5E-0022,5e-00129,000,4022-3,2E-0022,5e-00129,500,3864-3,0E-0022,5e-001210,00 0,3718-2,8E-0022,5e-001290Вариант 12.5 ′ = −0,1 ⋅ , 0 =1на отрезке по от 0 до 20 с шагом = 1 и точностью = 0,001.xyy'h/2n2n------------------------------------------------01,0000-1,0E-00110,9043-9,0E-0021,3e-001820,8177-8,2E-0021,3e-001830,7394-7,4E-0021,3e-001840,6686-6,7E-0021,3e-001850,6046-6,0E-0021,3e-001860,5467-5,5E-0021,3e-001870,4944-4,9E-0021,3e-001880,4471-4,5E-0021,3e-001890,4043-4,0E-0021,3e-0018100,3656-3,7E-0021,3e-0018110,3306-3,3E-0021,3e-0018120,2989-3,0E-0021,3e-0018130,2703-2,7E-0021,3e-0018140,2444-2,4E-0021,3e-0018150,2210-2,2E-0021,3e-0018160,1999-2,0E-0021,3e-0018170,1807-1,8E-0021,3e-0018180,1634-1,6E-0021,3e-0018190,1478-1,5E-0021,3e-0018200,1336-1,3E-0021,3e-001891Вариант 12.6 ′ = −0,3 ⋅ 2 , 0 =1на отрезке по от 0 до 20 с шагом = 1 и точностью = 0,001.xyy'h/2n2n------------------------------------------------01,0000-3,0E-00110,7685-1,8E-0011,6e-0026420,6241-1,2E-0011,6e-0026430,5253-8,3E-0023,1e-0023240,4535-6,2E-0023,1e-0023250,3988-4,8E-0026,3e-0021660,3559-3,8E-0026,3e-0021670,3214-3,1E-0026,3e-0021680,2930-2,6E-0026,3e-0021690,2691-2,2E-0021,3e-0018100,2488-1,9E-0021,3e-0018110,2314-1,6E-0021,3e-0018120,2162-1,4E-0021,3e-0018130,2030-1,2E-0021,3e-0018140,1911-1,1E-0022,5e-0014150,1806-9,8E-0032,5e-0014160,1712-8,8E-0032,5e-0014170,1628-7,9E-0032,5e-0014180,1551-7,2E-0032,5e-0014190,1481-6,6E-0032,5e-0014200,1418-6,0E-0032,5e-001492Вариант 12.7 ′ = −0,3 ⋅ 3 , 0 =1на отрезке по от 0 до 20 с шагом = 1 и точностью = 0,001.xyy'h/2n2n------------------------------------------------01,0000-3,0E-00110,7902-1,5E-0017,8e-00312820,6736-9,2E-0021,6e-0026430,5968-6,4E-0023,1e-0023240,5413-4,8E-0026,3e-0021650,4989-3,7E-0026,3e-0021660,4650-3,0E-0021,3e-001870,4372-2,5E-0021,3e-001880,4139-2,1E-0021,3e-001890,3938-1,8E-0022,5e-0014100,3763-1,6E-0022,5e-0014110,3611-1,4E-0022,5e-0014120,3476-1,3E-0022,5e-0014130,3355-1,1E-0022,5e-0014140,3244-1,0E-0025,0e-0012150,3144-9,3E-0035,0e-0012160,3053-8,5E-0035,0e-0012170,2969-7,9E-0035,0e-0012180,2892-7,3E-0035,0e-0012190,2821-6,7E-0035,0e-0012200,2755-6,3E-0035,0e-001293Вариант 12.8′ = − 2 , 0 =1на отрезке по от 0 до 20 с шагом = 1 и точностью = 0,001.xyy'h/2n2n------------------------------------------------01,0000-1,0E+00010,83293,1E-0012,0e-00351221,24944,4E-0012,5e-001431,63433,3E-0016,3e-0021641,93212,7E-0011,3e-001852,18372,3E-0012,5e-001462,40642,1E-0012,5e-001472,60911,9E-0012,5e-001482,79651,8E-0012,5e-001492,97181,7E-0012,5e-0014103,13691,6E-0012,5e-0014113,29361,5E-0012,5e-0014123,44241,5E-0015,0e-0012133,58611,4E-0011,3e-0018143,72281,4E-0015,0e-0012153,85621,3E-0011,3e-0018163,98341,3E-0015,0e-0012174,10831,2E-0011,3e-0018184,22791,2E-0015,0e-0012194,34571,2E-0011,3e-0018204,45891,2E-0015,0e-001294Вариант 12.9 ′ = − − 0,4 ⋅ 3 , 0 =0на отрезке по от 0 до 20 с шагом = 1 и точностью = 0,001.xyy'h/2n2n------------------------------------------------00,00001,0E+00010,60162,8E-0019,8e-004102420,7088-7,1E-0033,9e-00325630,6629-6,7E-0021,6e-0026440,5946-6,6E-0022,5e-001450,5341-5,4E-0026,3e-0021660,4852-4,3E-0026,3e-0021670,4462-3,5E-0026,3e-0021680,4146-2,8E-0021,3e-001890,3886-2,3E-0021,3e-0018100,3669-2,0E-0021,3e-0018110,3485-1,7E-0021,3e-0018120,3325-1,5E-0022,5e-0014130,3185-1,3E-0022,5e-0014140,3061-1,1E-0022,5e-0014150,2951-1,0E-0022,5e-0014160,2851-9,3E-0035,0e-0012170,2760-8,4E-0035,0e-0012180,2678-7,7E-0035,0e-0012190,2603-7,1E-0035,0e-0012200,2534-6,5E-0035,0e-001295Задание 13Материальная точка с единичной массой совершает колебательноедвижение в несимметричной “яме”, в которой зависимость потенциальной энергии от координаты определяется формулой = 1 − −2Траектория движения () может быть получена, исходя из уравненияНьютона ′′ = , , ′ В данном случае сила зависит лишь от координаты и равна производной от потенциала = − ′ ()Эту производную можно взять аналитически, а уравнение Ньютонапреобразовать к системе двух дифференциальных уравнений первогопорядка.Проанализируйте поведение этой системы, последовательно выполнив следующие шаги.Средствами Microsoft Excel постройте график зависимости потенциальной энергии от координаты () в интервале [– 1, 5].
В какуюсторону должна начать движение материальная точка, если ее начальная координата равна 2?Составить программу на языке Visual Basic для нахождения траектории () путем решения системы линейных дифференциальных уравнений методом Эйлера. Произвести расчеты, задав начальную координату равной 2, начальную скорость равной 0 и шаг по времени рав96ным 0,001. Результаты расчета вывести в текстовый файл по следующему образцу:t; x(t); u(t)0; 2; 00,001; 2; -0,0001170196443478790,002; 1,99999988298036; -0,0002340392886957570,003; 1,99999964894107; -0,000351058944593944. .
.29,9980000000137; 0,489519349759187; -0,77933419094025629,9990000000137; 0,488740015568247; -0,779571439805182Импортировать полученные данные на лист Microsoft Excel. Построитьдве диаграммы: на первой отобразить траекторию системы, т.е. графики координаты и скорости как функций времени, на втором - фазовую траекторию, т.е.
зависимость между координатой и скоростью.Момент прохождения левой или правой точек поворота в процессеколебания можно определить по изменению знака скорости с отрицательного на положительный или с положительного на отрицательный,соответственно. Модифицировать программу так, чтобы она определяла и выводила период колебаний как разницу во времени последовательных прохождений одной и той же точки поворота.Произвести численный эксперимент: получить период колебаний приразличных начальных приближениях: 0 = 2; 1; 0,1; 0,01; 0,0001.Найти объяснение полученной зависимости периода от амплитуды сточки зрения физики, применив теорию гармонических колебаний.97Приложение.Сводка синтаксическихправилОбщие правила (стр. 16)1Программа записывается в виде последовательности предложений(statement).Простое предложение обычно располагается на отдельной строкетекста.В состав имени могут входить ТОЛЬКО буквы, цифры и знаки подчеркивания.Первым символом должна быть буква.Регистр букв в имени не имеет значения.Имя не должно совпадать ни с одним из зарезервированных слов.Описание переменной (стр.
20)Dim <имя переменной> As <имя типа> _[ ,<имя переменной> As <имя типа> + …1Здесь и далее в приложении указаны страницы методической разработки«Основы программирования на Visual Basic. Теория и практика»(В.С.Люцарев, О.Б.Калугина)98Описание константы (стр. 28)Const <имя константы> As <имя типа> = <значение>Предложение присвоения значения переменной (стр. 30)<имя переменной> = <выражение>Цикл For … Next (стр. 34)For <переменная> [As <тип>] = <нач_знач> To <кон_знач> _[Step <шаг>]<блок предложений>Next [<переменная>]Вызов метода объекта (стр. 43)<значение>.<имя_метода> [ (<параметры>) ]Выражение конструирования объекта (стр.
55)New <имя класса> ( <параметры конструктора> )Цикл Do … Loop (стр. 78)Do [ While | Until ] <условие><блок предложений>LoopDo<блок предложений>Loop [ While | Until ] <условие>99Условное предложение If … End If (стр. 81)If <условие 1> Then<блок предложений 1>[ Else If <условие 2> Then<блок предложений 2> ] …[ Else<блок предложений иначе> ]End IfФункция (стр. 90)Function <имя> ( [ <параметр1> [ , <параметр2> + … + ) _As <тип результата><блок предложений, включая Return>End FunctionПодпрограмма (стр.
90)Sub <имя> ( [ <параметр1> [ , <параметр2> ] … ] )<блок предложений>End SubОписание параметра функции или подпрограммы (стр. 92)[ ByVal | ByRef ] <имя параметра> As <имя типа>Предложение выхода из функции или подпрограммы (стр. 93)Return <выражение>Предложение вызова подпрограммы (стр. 93)[ Call ] <имя подпрограммы> ( [ <аргумент 1> _[ , <аргумент 2> +… + )100Литература1. Калугина О.Б., Люцарев В.С. Основы программирования наVisual Basic. Теория и практика.
Множительная лабораторияХимического факультета МГУ, М. – 20082. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. БИНОМ, 20073. Вержбицкий В.М. основы численных методов. Учебник для вузов. 2-е изд. перераб., Высш.шк., М – 20034. Лобанов А. И., Петров И. Б., Лекции по вычислительной математике. , 2006 г., Изд.: БИНОМ, ТОРГОВЫЙ ДОМ, БИНОМ. Лаборатория знаний, Бином-Пресс, ИНТУИТ.РУ, ФИЗМАТЛИТ®5. Турчак Л.И., Плотников П.В. основы численных методов.ФИЗМАТЛИТ, М. - 20056. Visual Basic Developer Center [http://msdn2.microsoft.com/ruru/vbasic]101.