Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Порядок выполнения лабораторной работы. Пример.Численно решить уравнение колебаний струны длиной l = 1 c шагом h = 0,05 на m=200 временных шагов:
Пример. Численно решить уравнение колебаний струны длиной l = 1 c шагом h = 0, 05 на m=200 временных шагов: при следующих исходных данных: ; 1. Решим задачу а). Введем исходные данные для расчета: а2 - ячейка В3=" 1", h - ячейка В5=" 0, 05", вычисляем шаг по времени t - ячейка В4=" B5/2/КОРЕНЬ(B3)", вычисляем параметр g по формуле (8) – ячейка В6=" B3*B4^2/B5^2". При выборе шага по времени необходимо учитывать, что условие (17) Куранта выполняется на гладких решениях, поэтому при вычислениях необходимо выбирать более мелкий шаг, чем разрешенный по условию (17) В частности, в приведенном примере в ячейке B4 использована формула , то есть выбран шаг по временной координате в 2 раза меньший, чем разрешенный условием Куранта. В процессе вычислений необходимо определение правой части уравнения, краевых и начальных условий. Так как разработанный алгоритм необходимо применять несколько раз для различных исходных данных, то целесообразно эти величины вычислять с помощью функций пользователя, написанных в виде макросов в среде Visual Basic for Applications (VBA). Для этого войдем в редактор VBA через главное меню MS Excel – Сервис-Макрос-Редактор Visual Basic. В раскрывшемся окне через главное меню вставить новый модуль – Insert-Module (Вставка-Модуль). Ввести макрос следующего содержания:
Const pi = 3.1415926
Function f(x, t) f = 0 End Function Function fi(x) fi = 0.7 * Sin(pi * x) End Function Function ksi(x) ksi = 2 * x ^ 2 End Function Function un(t) un = 0 End Function Function uk(t) uk = 0 End Function
В первой инструкции вводится именованная переменная, определяющая число p. Пользовательские функции макроса определяют заданные исходные данные: функция f(x, t) – правую часть дифференциального уравнения, функция fi(x) – начальное перемещение j(х), функция ksi(x) – начальную скорость y(х), функция un(t) – краевое условие для левой границы струны un(t), функция uk(t) - краевое условие для правой границы струны uk(t). В строке 8 задаем координаты узлов разностной сетки по координате х: ячейка В8=" 0", ячейка С8=" =B8+$B$5" и протягиваем формулу до ячейки V8. В столбце А задаем координаты узлов разностной сетки по координате t: ячейка А9=" 0", ячейка А10=" =A9+$B$4" и протягиваем формулу до ячейки А209. В столбце В задаем краевое условие для левой границы струны un(t): ячейка В9=" =un(A9)" и протягиваем формулу до ячейки В209. В столбце V задаем краевое условие для правой границы струны uk(t): ячейка V9=" =uk(A9)" и протягиваем формулу до ячейки V209. В строке 9 задаем начальное перемещение j(х): ячейка С9=" =fi(C8)" и протягиваем формулу до ячейки U9. В строке 10 вычисляем по формуле (15) распределение перемещений струны на первом временном слое: ячейка С10= " =C9+$B$4*ksi(C8)" и протягиваем формулу до ячейки U10. Вычисляем распределение перемещений на остальных временных слоях по формуле (9): ячейка С11=" =-C9+$B$6*B10+(2-2*$B$6)*C10+$B$6*D10+ $B$4^2 *f(C$8; $A11)" и протягиваем формулу на диапазон C9: U209. Следует обратить внимание на правильную абсолютную адресацию ячеек C$8 и $A11. В полученной таблице содержится решение задачи. Представим решение задачи в виде диаграммы, выбрав в качестве Значений Х диапазон B8: V8, а в качестве Значений Y для 4-х рядов данных распределения перемещений струны в 4 момента времени, распределенные по исследуемому интервалу времени примерно одинаково, начиная с начального момента времени. В рассматриваемом примере выбраны диапазоны B9: V9, B69: V69, B129: V129, B189: V189, соответствующие моментам времени 0; 1, 5; 3; 4, 5. Выбирается тип диаграммы " Точечная", вид " Точечная диаграмма со значениями, соединенными сглаживающими линиями без маркеров" с соответствующим форматированием. Вид рабочего листа Расчет приведен на рисунке. Для отображения динамики колебания струны используем новый рабочий лист Динамика, в ячейку которого А1 скопируем диапазон B8: V9 рабочего листа Расчет. По этим данным построим Точечную диаграмму со значениями, соединенными сглаживающими линиями без маркеров с соответствующим форматированием. В частности параметры осей целесообразно выбрать такими же, как и у диаграммы на рабочем листе Расчет. Таким образом, построено распределение перемещений в начальный момент времени. Для динамичного отражения распределения перемещений в другие моменты времени разместим на рабочем листе Динамика элемент управления Кнопка, для которой напишем следующий макрос обработки события Click (Щелчок):
Private Sub CommandButton1_Click() Dim R As Object Dim D As Object Set R = Worksheets(" Расчет").Range(" B9: V209") Set D = Worksheets(" Динамика").Range(" A2: U2") For i = 1 To 201 For j = 1 To 21 D(1, j) = R(i, j) Next j Start = Timer Do While Timer < Start + 0.2 Loop Worksheets(" Динамика").Calculate Next i End Sub
В макросе по аналогии с предыдущими лабораторными работами вводятся объектовые переменные, предназначенные для копирования распределения перемещений на текущем временном слое из рабочего листа Расчет в диапазон Значения Y диаграммы на рабочем листе Динамика. Используется цикл Do While … Loop для организации задержки между кадрами. Вид рабочего листа Динамика для одного из промежуточных временных слоев приведен на рисунке. 2. Решим задачу б) В разработанном в п.1 алгоритме расчета для решения задачи достаточно исправить формулы в пользовательских функциях. В данном случае макрос пользовательских функций имеет вид:
Const pi = 3.1415926
Function f(x, t) f = 0 End Function Function fi(x) fi = 0 End Function Function ksi(x) ksi = 0 End Function Function un(t) un = 0.3 * Sin(10 * pi * t) End Function Function uk(t) uk = 0.1 * Sin(5 * pi * t) End Function
После корректировки макроса надо щелкнуть на элемент управления Кнопка на рабочем листе Динамика и наблюдать колебания струны. На рабочем листе Расчет на диаграмме выведены начальное и промежуточные положения струны в заданные моменты времени. Вид диаграммы приведен на рисунке. Отчет по лабораторной работе должен содержать тексты макросов, распечатки рабочих листов с диаграммами.
Варианты
Численно решить уравнение колебаний струны длиной l c шагом h на m временных шагов: при следующих исходных данных: 1. l = 1, h = 0, 025, m = 150 2. l = 1, h = 0, 04, m = 100 3. l = 2, h = 0, 1, m = 150 4. l = 1, h = 0, 05, m = 100 5. l = 2, h = 0, 1, m = 150 6. l = 1, h = 0, 04, m = 200 7. l = 2, h = 0, 08, m = 100 8. l = 1, h = 0, 025, m = 150 9. l = 2, h = 0, 05, m = 150 10. l = 1, h = 0, 02, m = 100 11. l = 2, h = 0, 04, m = 100 12. l = 1, h = 0, 025, m = 150 13. l = 1, h = 0, 02, m = 100 14. l = 1, h = 0, 05, m = 150 15. l = 2, h = 0, 1, m = 150 16. l = 1, h = 0, 04, m = 150 17. l = 2, h = 0, 08, m = 150 18. l = 1, h = 0, 025, m = 150 19. l = 2, h = 0, 05, m = 150 20. l = 1, h = 0, 02, m = 200 21. l = 2, h = 0, 04, m = 100 22. l = 1, h = 0, 05, m = 150 23. l = 2, h = 0, 1, m = 150 24. l = 1, h = 0, 04, m = 200
|