函数1
%书籍:常用数值算法及其matlab实现
%第10章 常微分方程边值问题的数值解法,例11.4使用
%打靶法,使用系统函数bvp4c
function dy = exam11_4(x,y) %将边值问题定义为微分方程组
dy = zeros(2,1)
dy(1) = y(2);
dy(2) = (32 + 2*x^3 - y(1)*y(2))/8;
函数2
%书籍:常用数值算法及其matlab实现
%第10章 常微分方程边值问题的数值解法,例11.4使用
%打靶法,使用系统函数bvp4c
function res = exam11_4bv(ya,yb) %边界条件函数
res = [ya(1)- 17, yb(1)- 43/3];
主函数
%书籍:常用数值算法及其matlab实现
%第10章 常微分方程边值问题的数值解法,例11.4使用
%打靶法,使用系统函数bvp4c
solinit = bvpinit(linspace(1,3,20), [43/3 17]);
sol = bvp4c(@exam11_4, @exam11_4bv, solinit);
xx = linspace(1,3,20);
yy = deval(sol, xx);
figure(1)
plot(xx, yy(1,:), 'r:*');
结果: