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 в интервале с помощью 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

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