bvpinit

Сформируйте исходное предположение для решателей 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.

x

Заказанные узлы начальной mesh.

y

Исходное предположение для решения с solinit.y(:,i) предположение для решения в узле solinit.x(i) .

параметры

Дополнительный. вектор A, который обеспечивает исходное предположение для неизвестных параметров.

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.

Представлено до R2006a

Была ли эта тема полезной?