📄 ex09ch3.m
字号:
function sol = ex09ch3global d Dleft = [1 0.1 0.01];right = [20 40 60];hold onfor i = 1:3 d = left(i); D = right(i); if i == 1 solinit = bvpinit(linspace(d,D,5),@guess,-1.6); else solinit = bvpinit(sol,[d,D]); end sol = bvp4c(@odes,@bcs,solinit); plot(sol.x,sol.y(1,:),sol.x(end),sol.y(1,end),'ro',... sol.x(1),sol.y(1,1),'ko'); axis([0 60 0 1]); drawnowendhold offfigurex = [0 sol.x];y = [1 sol.y(1,:)];plot(x,y)axis([0 15 0 1])fprintf('y''(0) is about %6.4f.\n',sol.parameters);%===========================================================function v = guess(x)if x <= 1 v = [1; 0];else v = [ 144/x^3; -432/x^4 ];endfunction dydx = odes(x,y,p)dydx = [ y(2); max(y(1),0)^(3/2) / sqrt(x) ]; function res = bcs(ya,yb,p)global d Dres = zeros(3,1);res(1:2) = ya - series(d,p);res(3) = yb(1) - 144/D^3 ;function y = series(x,p)yx = 1 + p*x + (4/3)*x^(3/2) + (2/5)*p*x^(5/2);ypx = p + 2*x^(1/2) + p*x^(3/2);y = [yx; ypx];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -