abm.m

来自「提供一个直接搜索算法程序」· M 代码 · 共 39 行

M
39
字号
function A=abm(f,T,Y)%Input   - f is the function entered as a string 'f'%        - T is the vector of abscissas%        - Y is the vector of ordinates%Remark.  The first four coordinates of T and Y must%         have starting values obtained with RK4%Output - A=[T' Y'] where T is the vector of abscissas and%         Y is the vector of ordinates%  NUMERICAL METHODS: Matlab Programs% (c) 2004 by John H. Mathews and Kurtis D. Fink%  Complementary Software to accompany the textbook:%  NUMERICAL METHODS: Using Matlab, Fourth Edition%  ISBN: 0-13-065248-2%  Prentice-Hall Pub. Inc.%  One Lake Street%  Upper Saddle River, NJ 07458n=length(T);if n<5, break, end;F=zeros(1,4);F=feval(f,T(1:4),Y(1:4));h=T(2)-T(1);for k=4:n-1   %Predictor   p=Y(k)+(h/24)*(F*[-9 37 -59 55]');   T(k+1)=T(1)+h*k;   F=[F(2) F(3) F(4) feval(f,T(k+1),p)];   %Corrector   Y(k+1)=Y(k)+(h/24)*(F*[1 -5 19 9]');   F(4)=feval(f,T(k+1),Y(k+1));endA=[T' Y'];

⌨️ 快捷键说明

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