deval
计算微分方程解结构体
说明
示例
计算具有固定时滞的 DDE
此示例使用 dde23
对 DDE 方程 y' = ddex1de(t,y,Z)
求解,然后绘制该解。
使用 dde23
对方程组求解。
sol = dde23(@ddex1de, [1 0.2], @ddex1hist, [0 5]);
在区间 [0 5]
中计算 100 个点处的解。
x = linspace(0,5); y = deval(sol,x);
对解绘图。
plot(x,y)
计算 van der Pol 方程
此示例使用 ode45
对方程组 y' = vdp1(t,y)
求解,然后绘制该解的第一个分量。
使用 ode45
对方程组求解。
sol = ode45(@vdp1, [0 20], [2 0]);
在区间 [0 20]
中计算 100 个点处的解的第一个分量。
x = linspace(0,20,100); y = deval(sol,x,1);
对解绘图。
plot(x,y)
插值函数的斜率
使用 ode23
对区间 内初始条件为 y0 = 0
的简单 ODE y' = t^2
求解。
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
输入参数
sol
— 解结构体
结构体
解结构体,指定为由以下微分方程求解器之一返回的结构体。
初始值问题求解器 -
ode45
、ode23
、ode113
、ode15s
、ode23s
、ode23t
、ode23tb
、ode15i
时滞微分方程求解器 -
dde23
、ddesd
或ddensd
边界值问题求解器 -
bvp4c
或bvp5c
示例: sol = ode45(@myode,tspan,y0)
数据类型: struct
x
— 求值点
向量
求值点,指定为向量。x
指定要求解的值的点。x
的元素必须包含在原始积分区间 [sol.x(1) sol.x(end)]
内。对于每个索引 i
,解 y(:,i)
与 x(i)
相对应。
示例: 0:0.1:1
示例: [2 3 5 8]
数据类型: single
| double
idx
— 要返回的解分量
向量
要返回的解分量,指定为向量。当您只对某些解分量感兴趣时,使用此输入。
示例: y = deval(sol,x,[2 3])
只返回第二个和第三个解分量。
数据类型: single
| double
输出参量
y
— 插值解
向量 | 矩阵
插值解,以向量或矩阵形式返回。y
中的行数等于返回的解分量的数量。
对于多边界值问题,通过 bvp4c
或 bvp5c
获得的解在接口处可能不连续。对于交界点 xc
,deval
函数返回 xc
左侧和右侧极限的平均值。要获得范围值,请将 x
的值设置为略大或略小于 xc
。
yp
— 由 sol
生成的连续解的导数
向量 | 矩阵
由 sol
生成的连续解的导数,以向量或矩阵形式返回。yp
的大小与 y
相同,表示由 y
中的每个解点处的 sol
使用的插值函数的斜率。
扩展功能
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)