Я пытаюсь вычислить веса конечно-разностной аппроксимации первой производной f'(x)f'(x)f'(x), используя разложение в ряд Тейлора. Я нахожу веса a,b,c,d,ea, b, c, d, ea,b,c,d,e такие, что:
af(x+2Δx )+bf(x+Δx)+cf(x)+df(x−Δx)+ef(x−2Δx)a f(x+2\Delta x) + b f(x+\Delta x) + c f(x) + d f(x-\Delta x) + e f(x-2\Delta x)af(x+2Δx)+bf(x+Δx)+cf(x)+df(x−Δx)+ef(x−2Δx)
приближает f'(x)f'(x)f'(x). Вот что я сделал:
Я использовал разложение в ряд Тейлора для f(x±kΔx)f(x \pm k\Delta x)f (x±kΔx), где k=1,2k = 1, 2k=1,2.
Я построил систему линейных уравнений обеспечить соблюдение следующих условий:
Коэффициенты f(x): a+b+c+d+e=0
Коэффициенты f′(x): 2a+b−d−2e=1
Коэффициенты f′′(x): 4a+b+ d+4e=0
Коэффициенты f(3)(x): 8a+b−d−8e=0
Коэффициенты из f(4)(x): 16a+b+d+16e=0
Я реализовал матричное уравнение A⋅z=bA \cdot z = bA⋅z=b в Python:
Проверено дважды коэффициенты в матрице A, чтобы убедиться, что они соответствуют разложению в ряд Тейлора.
Проверено, что вектор правой части b=[0,1 ,0,0,0] корректно аппроксимирует f′(x).
Несмотря на это, веса неверны. Я что-то упустил в настройке матрицы или реализации Python?
[*]Ожидаемое поведение:
I хотим, чтобы решение соответствовало теоретическим весам для центральной конечно-разностной аппроксимации первой производной f'(x) с использованием пяти точек.
Я пытаюсь вычислить веса конечно-разностной аппроксимации первой производной f'(x)f'(x)f'(x), используя разложение в ряд Тейлора. Я нахожу веса a,b,c,d,ea, b, c, d, ea,b,c,d,e такие, что: af(x+2Δx )+bf(x+Δx)+cf(x)+df(x−Δx)+ef(x−2Δx)a f(x+2\Delta x) + b f(x+\Delta x) + c f(x) + d f(x-\Delta x) + e f(x-2\Delta x)af(x+2Δx)+bf(x+Δx)+cf(x)+df(x−Δx)+ef(x−2Δx) приближает f'(x)f'(x)f'(x). Вот что я сделал: [list] [*]Я использовал разложение в ряд Тейлора для f(x±kΔx)f(x \pm k\Delta x)f (x±kΔx), где k=1,2k = 1, 2k=1,2.
[*]Я построил систему линейных уравнений обеспечить соблюдение следующих условий: [list] Коэффициенты f(x): a+b+c+d+e=0
[*]Коэффициенты f′(x): 2a+b−d−2e=1
[*]Коэффициенты f′′(x): 4a+b+ d+4e=0
[*]Коэффициенты f(3)(x): 8a+b−d−8e=0
[*]Коэффициенты из f(4)(x): 16a+b+d+16e=0
[/list]
[*]Я реализовал матричное уравнение A⋅z=bA \cdot z = bA⋅z=b в Python: [code]import numpy as np
A = np.array([ [1, 1, 1, 1, 1], # Coefficients of f(x) [2, 1, 0, -1, -2], # Coefficients of f'(x) [4, 1, 0, 1, 4], # Coefficients of f''(x) [8, 1, 0, -1, 8], # Coefficients of f'''(x) [16, 1, 0, 1, 16] # Coefficients of f''''(x) ])
b = np.array([0, 1, 0, 0, 0]) # Targeting the first derivative
z = np.linalg.solve(A, b) print(z)
[/code]
[*]Проблема: Я получаю следующий результат: [code][0.25,0,-0,0,-0.25] [/code] Однако ожидаемые веса первой производной должны быть примерно такими:
[*] [code][-1/12,2/3,0,-2/3,1/12] [/code]
[*]Что я пробовал:
Проверено дважды коэффициенты в матрице A, чтобы убедиться, что они соответствуют разложению в ряд Тейлора.
[*]Проверено, что вектор правой части b=[0,1 ,0,0,0] корректно аппроксимирует f′(x).
[/list] Несмотря на это, веса неверны. Я что-то упустил в настройке матрицы или реализации Python?
[*]Ожидаемое поведение: I хотим, чтобы решение соответствовало теоретическим весам для центральной конечно-разностной аппроксимации первой производной f'(x) с использованием пяти точек.
Я пытаюсь вычислить веса конечно-разностной аппроксимации первой производной f'(x)f'(x)f'(x), используя разложение в ряд Тейлора. Я нахожу веса a,b,c,d,ea, b, c, d, ea,b,c,d,e такие, что:
af(x+2Δx )+bf(x+Δx)+cf(x)+df(x−Δx)+ef(x−2Δx)a f(x+2\Delta x)...
Я пытаюсь вычислить веса конечно-разностной аппроксимации первой производной f'(x)f'(x)f'(x), используя разложение в ряд Тейлора. Я нахожу веса a,b,c,d,ea, b, c, d, ea,b,c,d,e такие, что:
af(x+2Δx )+bf(x+Δx)+cf(x)+df(x−Δx)+ef(x−2Δx)a f(x+2\Delta x)...
Следующая функция
public int GetNumber()
{
int num = (condition1 ? 3 : (condition2 ? 1 : 2));
int num2 = (condition3 ? 6 : (condition4 ? 3 : 0));
return num + num2;
}
возвращает правильный результат при запуске в тестах.
Но когда я включаю его в...
Я прохожу курс машинного обучения с заданием по реализации подходящего метода для DecisionTreeClassifier.
Вот мой код:
import numpy as np
import pandas as pd
class MyTreeClf:
def __init__(self, max_depth=5, min_samples_split=2, max_leafs=20):...
Моя программа wxWidgets преобразует градусы Цельсия в градусы Фаренгейта из текстовой формы:
//get 100 from textbox
wxString szCelsius = TextCtrl1->GetValue();
long lCelsius;
//attempt to cast into long
szCelsius.ToLong(&lCelsius, 10);