exponenta event banner

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