Калькулятор для вычисления значений интерполяционных полиномов — КиберПедия 

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Калькулятор для вычисления значений интерполяционных полиномов

2021-04-18 118
Калькулятор для вычисления значений интерполяционных полиномов 0.00 из 5.00 0 оценок
Заказать работу

В данном разделе рассмотрены два варианта построения калькуляторов для вычисления значений интерполяционных полиномов.

Чтобы вызвать первый калькулятор необходимо нажать кнопку Калькулятор для вычисления значений интерполяционных полиномов, рис. 3.4.1.

Рис. 3.4.1

На появившейся панели калькулятора включить “флажки” у полиномов, значения которых необходимо вычислить, и нажать кнопку Вычислить, рис. 3.4.2.

 

Рис. 3.4.2

В появившемся окне Ввод значений интерполяционной таблицы последовательно вводя значения исходной таблицы варианта задания (а потом и любые другие данные), и нажимая кнопку ОК, сформировать исходную интерполяционную таблицу, рис. 3.4.3.

В окне Ввод значений интерполяционной таблицы для удобства указываются данные соответствующие выполняемому варианту задания.

Рис. 3.4.3

После последнего нажатия кнопки ОК появится панель калькулятора с результатами вычислений, рис. 3.4.4.

Рис. 3.4.4

Таким образом, для выполняемого варианта задания, при значении Х = 2.372 вычисленное значение канонического интерполяционного полинома, полинома Лагранжа и полинома Ньютона совпадают и равны величине 10.644.

Эти результаты совпадают и с результатами, полученными при вычислениях в среде Excel.

Не закрывая панель калькулятора можно поверить совпадение значений построенного интерполяционного полинома и данных исходной интерполяционной таблицы в узлах интерполяции.

Работа калькулятора для вычисления значений интерполяционного полинома поддерживается следующими программными модулями:

 

Private Sub CommandButton1_Click()

Dim x As Double

Dim n As Integer

Dim xe() As Double

Dim ye() As Double

n = CDbl(TextBox1)

x = CDbl(TextBox3)

ReDim xe(1 To n) As Double

ReDim ye(1 To n) As Double

For i = 1 To n

xe(i) = InputBox("Введите x(" & CStr(i - 1) & ") =" & vbCr & "x(0)=1" & vbCr & "x(1)=3" & vbCr & "x(2)=5" & vbCr & "x(3)=7", "Ввод значений интерполяционной таблицы", 1, 5000, 8000)

Next i

For i = 1 To n

ye(i) = InputBox(" Введите y(" & CStr(i - 1) & ") =" & vbCr & "y(0)=3" & vbCr & "y(1)=10" & vbCr & "y(2)=2" & vbCr & "y(3)=5", " Ввод значений интерполяционной таблицы ", 1, 8000, 5000)

Next i

Label1 = "X" & " Y" & vbCr & CStr(xe(1)) & " " & CStr(ye(1)) & vbCr & CStr(xe(2)) & " " & CStr(ye(2)) & vbCr & CStr(xe(3)) & " " & CStr(ye(3)) & vbCr & CStr(xe(4)) & " " & CStr(ye(4))

If CheckBox2 Then TextBox5 = Format(lagr(x, xe, ye), "0.000") Else TextBox5 = ""

If CheckBox3 Then TextBox6 = Format(Newtonn(x, xe, ye), "0.000") Else TextBox6 = ""

If CheckBox1 Then TextBox4 = Format(Kanon(x, xe, ye), "0.000") Else TextBox4 = ""

End Sub

Private Sub CommandButton2_Click()

Unload Me

End Sub

Function lagr(x As Double, xe As Variant, ye As Variant)

n = Application.Count(xe)

lagr = 0

For i = 1 To n

p = 1

For j = 1 To n

If j <> i Then p = p * (x - xe(j)) / (xe(i) - xe(j))

Next j

lagr = lagr + ye(i) * p

Next i

End Function


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.