?? adams_pece.m
字號:
function data = Adams_PECE(x0,y0,h,N)
global diff_f;
%函數功能:四階Adams預測-校正方法.
%輸入參數:(x0,y0)--初值;h--步長;N--計算次數.
%返 回 值:解曲線上的點,格式為二維列向量,第一列為自變量,第二列為函數值.
%調用關系:調用四階龍格-庫塔法函數Adams_RK_four_step(x0,y0,h,N)產生初值.
syms x y;
diff_f = input('請輸入微分函數dy/dx:');
data(1,1) = x0;
data(1,2) = y0;
%四階龍格-庫塔法提供初值.
data_RK = Adams_RK_four_step(x0,y0,h,3);
data(2,:) = data_RK(2,:);
data(3,:) = data_RK(3,:);
data(4,:) = data_RK(4,:);
x_former = data(4,1);
y_former = data(4,2);
for i = 1:4
x = data(i,1);
y = data(i,2);
dy(i) = eval(diff_f);
end
for i = 4:N
x = x_former + h;
y = y_former + h * (55 * dy(i) - 59 * dy(i-1) + 37 * dy(i-2) - 9 * dy(i-3)) / 24;
dy_p = eval(diff_f);
y = y_former + h * (9 * dy_p + 19 * dy(i) - 5 * dy(i-1) + dy(i-2)) / 24;
dy(i+1) = eval(diff_f);
%保存數據.
data(i+1,1) = x;
data(i+1,2) = y;
%更新數據.
x_former = x;
y_former = y;
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -