Необходимо решить уравнение:
Код:
w = 0.24; K = 10; K1 = 4.5; K2 = 3; WN = 6; WM = 13; g = 0.1; J = 0.05; KM = 0.0001*0.24^-0.7; F = 3000; m = 0.24; t = 1;
Wx = g*x + m;
sol = NDSolve[{J*u''[x] - Wx*u'[ x] - (g + 2/t)*u[x] -
F*(KM*(K2*Exp[K1*(u[x] - 0.55)] +
WN/(1 + (WN/WM - 1)*Exp[-K*u[x]]))) + 2/t *w == 0,
u[0] == 0.24, u'[0.1] == 0}, u, {x, 0, 0.1}]
Все решает, интерполирует, график строит.
Далее необходимо просчитывать это уравнение в цикле, заменяя на каждом шаге
.
На втором шаге при пересчете w мы получаем вектор столбец (на первом шаге было w=0.24).
Код:
yapprox[x_] = u[x] /. sol[[1]]
w1 = Sum[Table[{yapprox[x]}, {x, 0, 0.1, 0.005}], {x, 0, 0.1}]*2 - w;
print [w1]
Получим:
print[{{0.94135},{0.841382},{0.74699},{0.657754},{0.573359},{0.493574},{0.418231},{0.347218},{0.280471},{0.217971},{0.159747},{0.105871},{0.0564661},{0.011708},{-0.0281723},{-0.0628868},{-0.0920944},{-0.115412},{-0.132438},{-0.142786},{-0.146128}}]
И с этим столбцом уравнение решаться уже не хочет, пробовала интерполировать, но может что-то неправильно делаю:
Код:
ifun = Interpolation[w1]
InterpolatingFunction[{{1.,21.}},<>]
Пробовала подставлять в уравнение и новый столбец w1 и проинтерполированный вектор ifun, не решает в обоих случаях. Возможно, нужно как-то извлечь формулу зависимости w(x), но не знаю как это сделать...