在偏微分方程的课堂上学习了Berman边界值问题
为了研究U235的扩散、气体的冷凝,Berman提出以下模型:

利用摄动方法,将非线性问题转化为线性问题,得出如下数学模型:

利用bvp4c函数数值求解,代码如下:
- function bvp_example
- R_values = [25.445, 14.678, 13.226]; %不同的雷诺数
- colors = ['r', 'g', 'b'];
- solinit = bvpinit(linspace(0, 1, 10), [-2 -90 -3 -10]); %赋给的初始值
- figure;
- hold on;
- xlabel('x');
- ylabel('f''(x)');
- title('f''图像 (不同R值)');
- grid on;
- for i = 1:length(R_values) %对不同雷诺数分别画图
- R = R_values(i);
- sol = bvp4c(@(x, y) odefun(x, y, R), @bcfun, solinit); %bvp4c函数
- x = linspace(0, 1, 100);
- y = deval(sol, x);
- plot(x, y(2, :), colors(i), 'DisplayName', ['R = ', num2str(R)]);
- end
- legend('show');
- function dydx = odefun(x, y, R) %将高阶常微分方程转化为一阶常微分方程组
- f = y(1);
- fp = y(2);
- fpp = y(3);
- fppp = y(4);
- dydx = [fp; fpp; fppp; R * (f * fppp - fp * fpp)];
- end
- function res = bcfun(ya, yb) %边界值
- res = [ya(1); ya(3); yb(2); yb(1) - 1];
- end
- end
代码运行的结果如下图:
