Сформируйте исходное предположение для решателей BVP
solinit = bvpinit (x, yinit)
solinit = bvpinit (x, yinit, параметры)
solinit = bvpinit (sol, [снова bnew])
solinit = bvpinit (sol, [снова bnew], параметры)
solinit = bvpinit(x,yinit)
формирует исходное предположение для решателя краевой задачи.
x
является вектором, который задает начальную mesh. Если вы хотите решить BVP на [a, b], то задайте x(1)
как a и x(end)
как b. Решатель адаптирует эту mesh к решению, таким образом, предположение как xb=nlinspace(a,b,10)
часто достаточно. Однако в трудных случаях, необходимо поместить точки mesh, где решение изменяется быстро. Записи x
должны быть в
Увеличение порядка, если <b
Уменьшение порядка, если a> b
Для краевых задач двух-точки записи x
должны быть отличными. Таким образом, если <b, записи должны удовлетворить x(1)
<x(2)
<... <x(end)
. Если a> b, записи должны удовлетворить x(1)
> x(2)
>...> x(end)
Для многоточечной краевой задачи можно задать точки в [a, b], в котором граничные условия применяются, кроме конечных точек a и b, путем повторения их записей в x
. Например, если вы устанавливаете
x = [0, 0.5, 1, 1, 1.5, 2];
граничные условия применяются в трех точках: конечные точки 0
и 2
и повторная запись 1. В целом повторные записи представляют граничные точки между областями в [a, b]. В предыдущем примере повторная запись 1 делит интервал [0,2]
на две области: [0,1]
и [1,2]
.
yinit
является предположением для решения. Это может быть или вектор или функция:
Вектор – Для каждого компонента решения, bvpinit
реплицирует соответствующий элемент вектора как постоянное предположение через все точки mesh. Таким образом, yinit(i)
является постоянным предположением для i
th компонент yinit(i,:)
решения во всех точках mesh в x
.
Функция – Для данной точки mesh, функция предположения должна возвратить вектор, элементы которого являются предположениями для соответствующих компонентов решения. Функция должна иметь форму
y = guess(x)
где x
является точкой mesh, и y
является вектором, длина которого совпадает с количеством компонентов в решении. Например, если функция предположения является функцией, вызовами bvpinit
y(:,j) = guess(x(j))
в каждой точке mesh.
Для многоточечных краевых задач функция предположения должна иметь форму
y = guess(x, k)
где y
исходное предположение для решения в x
в области k
. Функция должна принять входной параметр k
, который обеспечивается для гибкости в записи функции предположения. Однако функция не требуется, чтобы использовать k
.
solinit = bvpinit(x,yinit,parameters)
указывает, что краевая задача включает неизвестные параметры. Используйте векторный parameters
, чтобы обеспечить предположение для всех неизвестных параметров.
solinit
является структурой со следующими полями. Структура может иметь любое имя, но поля нужно назвать x
, y
и parameters
.
| Заказанные узлы начальной mesh. |
| Исходное предположение для решения с |
| Дополнительный. вектор |
solinit = bvpinit(sol,[anew bnew])
формирует исходное предположение на интервале [anew bnew]
из решения sol
через определенный интервал [a, b]. Новый интервал должен быть больше, чем предыдущий, таким образом, или anew <=
<
b <= bnew
или anew >=
>
b >= bnew
. Решение sol
экстраполируется к новому интервалу. Если sol
содержит parameters
, они копируются в solinit
.
solinit = bvpinit(sol,[anew bnew],parameters)
формирует solinit
, как описано выше, но использует parameters
в качестве предположения для неизвестных параметров в solinit
.