⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex934_1.m

📁 ch9例题05_ode23s口服药在人体中的吸收 matlab 程序
💻 M
字号:
function ex934_1
clear;
Tol=0.5e-10; i=1; m(1)=0; m(2)=10; yn=35/3; h=0.02; N=1/h;
while 1
    [x,y]=ode45(@f_shoot,[2 3],[8 m(i)]);
    y1_end=y(end,1);
    if (abs(y1_end-yn)<Tol) break, end
    if i>=2 
        m(i+1)=m(i)-(m(i)-m(i-1))*(y1_end-yn)/(y1_end-y1_end_old);
    end
    y1_end_old=y1_end;
    i=i+1;
end
m',  [x,y],

plot(x,y(:,1),'-r',x,y(:,2),'.-b');
title('非线性打靶法求解微分方程边值问题')
legend('y(x)','y{\prime}(x)',0)
xlabel('x'),ylabel('y(x) and y{\prime}(x)')
text(2.1,7,['Guess for y{\prime}(2)=',num2str(m(i))])
text(2.6,7,['y(3)=',num2str(y1_end)])

%------------------------------------------------------------------
function f=f_shoot(x,y)
f=[y(2);-y(1)*y(2)/4+x^3/2+4];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -