使用ode45在MATLAB中求解具有离散值的微分方程

问题描述

我有一个微分方程-

L'(x) = F1(x,L(x))

使用ode45,我获得了L(x)的解决方案。我有一个由L_val表示的L(x)值数组。使用这种解决方案,我打算解决一个微分方程。

w'(x)=L(x)/x

如何求解w(x)?特别是由于L(x)不是x的函数,而是离散值的数组。

解决方法

使用累积梯形积分函数: https://fr.mathworks.com/help/matlab/ref/cumtrapz.html

或者,您可以使用其他更准确的规则(Simpson规则,在Matlab中央搜索功能文件)。另一种实用的方法是计算函数的高阶插值并将其直接集成。