deval

Оцените структуру решения дифференциального уравнения

Описание

пример

y = deval(sol,x) и y = deval(x,sol) оцените решение sol задачи дифференциального уравнения в точках, содержащихся в x.

пример

y = deval(___,idx) возвращает только компоненты решения с индексами, перечисленными в векторе idx. Можно использовать любую из ранее перечисленных комбинаций входных аргументов.

пример

[y,yp] = deval(___) также возвращается yp, которая является первой производной от числового решения, произведенного решателем.

Примеры

свернуть все

Этот пример решает уравнение DDE y' = ddex1de(t,y,Z) использование dde23, затем строит график решения.

Решить систему можно используя dde23.

sol = dde23(@ddex1de, [1 0.2], @ddex1hist, [0 5]);

Оцените решение в 100 точках в интервале [0 5].

x = linspace(0,5);
y = deval(sol,x);

Постройте график решения.

plot(x,y)

Figure contains an axes. The axes contains 3 objects of type line.

Этот пример решает систему y' = vdp1(t,y) использование ode45, затем строит графики первого компонента решения.

Решить систему можно используя ode45.

sol = ode45(@vdp1, [0 20], [2 0]);

Оцените первый компонент решения в 100 точках в интервале [0 20].

x = linspace(0,20,100);
y = deval(sol,x,1);

Постройте график решения.

plot(x,y)

Figure contains an axes. The axes contains an object of type line.

Решите простую y' = t^2 ОДУ с начальным условием y0 = 0 в интервале [0,3] использование ode23.

sol = ode23(@(t,y) t^2, [0 3], 0);

Оцените решение в семи точках. Структура решения sol содержит интерполяционную функцию, которая deval использует, чтобы получить непрерывное решение в этих точках. Задайте второй выходной аргумент с deval чтобы также вернуть производную интерполяционной функции в заданных точках.

x = linspace(0,3,7);
[y,yp] = deval(sol,x)
y = 1×7

         0    0.0417    0.3333    1.1250    2.6667    5.2083    9.0000

yp = 1×7

         0    0.2500    1.0000    2.2500    4.0000    6.2500    9.0000

Входные параметры

свернуть все

Структура решения, заданная как структура, возвращенная одним из следующих решателей для дифференциальных уравнений.

  • Решатель задачи начального значения - ode45, ode23, ode113, ode15s, ode23s, ode23t, ode23tb, ode15i

  • Решатель дифференциальных уравнений с запаздывающим аргументом - dde23, ddesd, или ddensd

  • Решатель для краевой задачи - bvp4c или bvp5c

Пример: sol = ode45(@myode,tspan,y0)

Типы данных: struct

Точки оценки, заданные как вектор. x задает точки, в которых требуется значение решения. Элементы x должно содержаться в исходном интервале интегрирования, [sol.x(1) sol.x(end)]. Для каждого индексного i, решение y(:,i) соответствует x(i).

Пример: 0:0.1:1

Пример: [2 3 5 8]

Типы данных: single | double

Возвращаемые компоненты решения, заданные как вектор. Используйте этот вход, когда вы заинтересованы только в определенных компонентах решения.

Пример: y = deval(sol,x,[2 3]) возвращает только второй и третий компоненты решения.

Типы данных: single | double

Выходные аргументы

свернуть все

Интерполированное решение, возвращенный как вектор или матрица. Количество строк в y равно количеству возвращаемых решений компонентов.

Для многоточечных краевых задач значения, решение, полученное bvp4c или bvp5c может быть прерывистым на интерфейсах. Для точки интерфейса xc, deval функция возвращает среднее значение пределов слева и справа от xc. Чтобы получить предельные значения, установите значение x быть немного больше или меньше xc.

Производная непрерывного решения, полученная sol, возвращенный как вектор или матрица. yp - тот же размер, что и y и указывает наклон интерполяционной функции, используемой sol в каждой точке решения в y.

См. также

| | | | | | | | | | | |

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