Форум программистов, компьютерный форум, киберфорум
Численные методы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 28.10.2019
Сообщений: 5
1

Равномерная и чебышевская сетка для полинома Ньютона

04.11.2019, 17:16. Показов 4889. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня дана функция f(x) = |3х - 5|, эта функция не гладкая, с помощью python я получил такую зависимость от числа узловых точек погрешность аппроксимации функции
для равномерной сетки:
10 узлов: 0.0002336825675600926
15 узлов: 7.358983040802284e-09
25 узлов: 1.0317333588372351e-19

для чебышевской сетки:
10 узлов: 1.3604148462024406e-05
15 узлов: 7.158831095683634e-11
25 узлов: 5.370871256830883e-22

так или не так должна была измениться погрешность при увеличении количества узлов?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2019, 17:16
Ответы с готовыми решениями:

Задача интерполяции методом полинома Ньютона и полинома Лагранжа
Решить задачу интерполяции методом полинома Ньютона и полинома Лагранжа 1 2 4 ...

Составить формулу интерполяционного полинома Ньютона.
Задание. 3. Составить формулу интерполяционного полинома Ньютона для узлов интерполирования...

Интерполяционный метод Ньютона (ошибка при увеличении степени полинома)
При увеличении n(степень полинома)>4 выдает ошибку Это может быть вызвано повреждением кучи и...

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

3
Эксперт по математике/физике
4217 / 3412 / 396
Регистрация: 15.06.2009
Сообщений: 5,818
04.11.2019, 19:44 2
Цитата Сообщение от pythonistmen Посмотреть сообщение
так или не так
Вопрос без ответа. Нет ни конкретного кода (а начинать надо с формул и уравнений - этот раздел форума для математики), ни самих формул. Ясновидцев здесь нет.
 Комментарий модератора 
Правила форума
4.7. Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены.
0
Заблокирован
05.11.2019, 10:06 3
вот код :
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
from numpy import linspace
import math
def F(x):                       #Исходная функция
    return abs(3*x - 5)
 
def NN(X):
    Y = []
    for i in range(0, len(X)):
        Y.append(F(X[i]))
    return Y
 
def n(j, x, X):                # (x - x1)(x - x2)*....*(x-xn)
    n = 1
    for i in range(j):
        n *= (x - X[i])
    return n
 
def a(j, l, X, Y):             # Раздельные разности
    if j == 0:
        return Y[0]
    elif j - l == 1:
        return (Y[j] - Y[l]) / (X[j] - X[l])
    else:
        return (a(j, l + 1, X, Y) - a(j - 1, l, X, Y)) / (X[j] - X[l])
 
def N(xc, X, Y):
    N = 0
    for j in range(len(X)):
        N += a(j, 0, X, Y) * n(j, xc, X)
    return N
 
def w(x, X):
    w = 1
    for i in range(len(X)):
        w *= (x - X[i])
    return w
 
def M(X, Y):
    B = []
    j = 1
    for j in range(len(X)):
        B.append(abs(a(j, 0, X, Y)))
    return max(B)
 
def X_Chebushev(a, b, m):
    X1 = []
    for i in range(0, m):
        x = (b+a)/2 + ((b-a)/2)*((math.cos((2*i + 1)*math.pi/(2*(m+1)))))
        X1.append(x)
    return X1
 
def M_Chebushev(X, Y):
    C = []
    j = 1
    for j in range(len(X)):
        C.append(abs(a(j, 0, X, Y)))
    return max(C)
 
def M_Re(X):
    B = []
    for i in range(len(X) - 1):
        B.append((X[i] + X[i + 1])/2)
    return B
 
a1 = -2                                 #Cut boundaries
b1 = 5
 
print("Заданная функция: F(x) = |3*x - 5|")
print("Входное число: ", end = '')
x = float(input())
 
m = [10,15,25]                              # размерность сетки
for i in range(len(m)):
    m1 = m[i]                               #Chebyshev grid
    x2 = X_Chebushev(a1, b1, m1)            #Nodal values X
    y2 = NN(x2)                             #Nodal values Y
    i1 = M_Chebushev(x2,y2)                 #M(n+1)
    g = (i1 * (b1 - a1)**(m1 + 1)) / (math.factorial(m1 + 1) * 2**(2 * m1 + 1))
    print('Погрешность аппроксимации функции при использовании чебышёвской сетки: |{}|'.format(m1), g)
print('\t')
for i in range(len(m)):
    m2 = m[i]
    X = linspace(a1, b1, m2)
    x3 = M_Re(X)
    y3 = NN(x3)
    p3 = (w(x, x3))
    i3 = (M(x3,y3))
    l = abs((p3 * i3)/math.factorial(m2 + 1))
    print('Погрешность аппроксимации функции при использовании равномерной сетки: |{}|'.format(m2), l)


формулы:
Равномерная и чебышевская сетка для полинома Ньютона

Равномерная и чебышевская сетка для полинома Ньютона
0
Заблокирован
05.11.2019, 13:39 4
это мой второй акк, (pythonistmen) просто не хотел смешивать python и математику, и создал два аккаунта
0
05.11.2019, 13:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2019, 13:39
Помогаю со студенческими работами здесь

Написать программу вычисления первой и второй производной табличной функции с помощью полинома Ньютона или Лагранжа
изменить пример {$APPTYPE CONSOLE} uses sysutils; const max=50; type TInterval=array...

Произвести интерполяцию для вольт-амперной характеристики транзистора методом Ньютона(полином Ньютона)
Напряжение на стоке, В|0|10|20|30|40|50 Ток стока, А|0,00|2,95|4,00|4,45|4,50|4,70 Текст...

сетка для игры
Доброе время суток! Пишу игру морской бой. Нужна сетка, подскажите пожалуйста как мне ее создать,...

Сетка для графика
помогите пожалуйста нужно построить сетку для посторойки графиков в paintbox и еще сделать так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru