Решение задачи в MS Excel




ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

«УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ»

 

 

Факультет   Специальность   Кафедра  

Отчет

по лабораторной работе №1

   
Дисциплина: Математическое моделирование в профессиональной деятельности

 

Работу выполнил(а)

студент(ка) группы №          
      подпись, дата   инициалы, фамилия

Работу принял

         
должность, уч. степень, звание   подпись, дата   инициалы, фамилия

 

 

Екатеринбург


Оглавление

1. Постановка задачи. 3

2. Математическое описание. 4

3. Описание результатов решения задач. 5

3.1. Решение задачи в MS Excel 5

3.2. Решение задачи в MathCAD.. 7

4. Анализ полученных результатов и выводы.. 9

Список использованных источников. 10

 


 

Лабораторная работа №1. Интерполяция

Вариант 2

Постановка задачи

Построить интерполяционный кубический сплайн для функции y=f(x), заданной таблицей. Используя найденную зависимость, найти значение у в точке x = N + 0.55, где N – номер варианта.

  2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9  
2,312 2,251 2,418 2,752 2,7 2,459 3,022 3,079 2,42 2,669 3,241

 

Математическое описание

В большинстве практических приложений желательно соединить экспериментальные точки не ломаной линией, а гладкой кривой.

Лучше всего для этих целей подходит интерполяция сплайнами, т. е. фрагментами полиномов. Смысл сплайн-интерполяции заключается в том, что в каждом промежутке между узловыми точками (на каждом шаге интерполяции) осуществляется аппроксимация в виде определенной полиномиальной зависимости f(x). При этом для каждого шага получается свой полином, причем его коэффициенты подбираются такими, чтобы на границах шага выполнялись условия сшивки. А именно, если применяются сплайны в виде полиномов степени m, то несложно показать, что их коэффициенты можно выбрать так, чтобы обеспечить непрерывность производных порядка до (m-1)-й включительно.

Наиболее часто применяются кубические сплайны, т.е. полиномы третьей степени (кубические параболы):

Коэффициенты a,b,c,d рассчитываются независимо для каждого промежутка интерполирования, исходя из значений yi в соседних точках. Участки парабол называются кубическими сплайнами.

Приведем формулы для расчета кубической сплайн-интерполяции. Искомая функция на промежутке между xi и xi+1 вычисляется следующим образом:

где


 

Описание результатов решения задач

Решение задачи в MS Excel

Для построения интерполяционного кубического сплайна создадим программу на языка VBA:

Option Base 1

Function spline(periodcol As Range, ratecol As Range, X As Range)

Dim period_count As Long

Dim rate_count As Long

period_count = periodcol.Rows.Count

rate_count = ratecol.Rows.Count

If period_count <> rate_count Then

spline = "Error: Range count dos not match"

GoTo endnow

End If

 

ReDim xin(period_count) As Double

ReDim yin(period_count) As Double

Dim c As Long

For c = 1 To period_count

xin(c) = periodcol(c)

yin(c) = ratecol(c)

Next c

Dim N As Long

Dim i, k As Long

Dim p, qn, sig, un As Double

ReDim U(period_count - 1) As Double

ReDim YT(period_count) As Double

N = period_count

YT(1) = 0

U(1) = 0

For i = 2 To N - 1

sig = (xin(i) - xin(i - 1)) / (xin(i + 1) - xin(i - 1))

p = sig * YT(i - 1) + 2

YT(i) = (sig - 1) / p

U(i) = (yin(i + 1) - yin(i)) / (xin(i + 1) - xin(i)) - (yin(i) - yin(i - 1)) / (xin(i) - xin(i - 1))

U(i) = (6 * U(i) / (xin(i + 1) - xin(i - 1)) - sig * U(i - 1)) / p

 

Next i

 

qn = 0

un = 0

YT(N) = (un - qn * U(N - 1)) / (qn * YT(N - 1) + 1)

For k = N - 1 To 1 Step -1

YT(k) = YT(k) * YT(k + 1) + U(k)

Next k

Dim klo, khi As Long

Dim H, B, A As Double

klo = 1

khi = N

Do

k = khi - klo

If xin(k) > X Then

khi = k

Else

klo = k

End If

k = khi - klo

Loop While k > 1

H = xin(khi) - xin(klo)

A = (xin(khi) - X) / H

B = (X - xin(klo)) / H

Y = A * yin(klo) + B * yin(khi) + ((A ^ 3 - A) * YT(klo) + (B ^ 3 - B) * YT(khi)) * (H ^ 2) / 6

 

spline = Y

endnow:

End Function

 

В результате выполнения программы получены значения:

В точке у (2,55) = 2,695.

Построены графики зависимостей.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-11-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: