deval

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

Синтаксис

y = deval(sol,x)
y = deval(x,sol)
y = deval(___,idx)
[y,yp] = 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)

Этот пример решает систему 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)

Решите простой ОДУ 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