Runge-Kutta,微分方程,数值解,mathlab

友友们求解下列初值问题

img

的经典四阶 Runge-Kutta 方法,取 h=0.4 进行mathlab数值实验,把计算结果、精确解及误差用表格给出。

可以按照以下步骤在 matlab 中求解初值问题:

  • 定义初值问题的函数。
  • 调用求解初值问题的函数:matlab 中有很多函数可以求解初值问题,例如 ode45、ode23 等。
  • 画图:您可以使用 matlab 的 plot 函数绘制 t 和 u 的图像。
  • 计算误差:您可以自己定义一个函数来计算误差。
% 定义初值问题的函数
f = @(t, u) (u^2 + u)/t;

% 定义精确解函数
exact = @(t) -2./t;

% 定义误差函数
error = @(t, u) abs(u - exact(t));

% 使用 ode45 函数求解初值问题
[t, u] = ode45(f, [1, 3], -2);

% 计算误差
e = error(t, u);

% 使用 uitable 函数展示计算结果、精确解和误差
data = [t, u, e];
columnnames = {'t', 'u', 'error'};
uitable('Data', data, 'ColumnName', columnnames);