如何代码三角问题解决Milne-Simpson方法?

4视图(30天)
2的评论
后面瞎跑mn
后面瞎跑mn 2022年1月1日
清楚,clc;
信谊(' t ', ' y ');
s = (k1 * y ^ 2 + K2的);
f =内联(年代,' t ', ' y ');
N = 10;
S = 10;
t = 0 (1, N + 1);
y = 0 (1, N + 1);
r = 0 (1, S + 1);
牛津大学出版社= 1;
= 0;b = 1;
t (1) = 0; % t = 0.0
r(1) = 0; %为r = 0.0
R = 0.1;%的步长r
h = (b) / N;
流(牛津大学出版社,步长(h) = ');
disp (h);
流(牛津大学出版社,' \ nThe精确解的最小值函数= (0.25 + 0.75 r) e ^ t \ n”);
流(牛津大学出版社,max函数的精确解是= (1.125 - -0.125 r) e ^ t \ n”);
j = 1: r S + 1%循环:0 < r < 1
Y0 = (0.5 + 0.5 * r (j));%初始条件(y)分钟
Z0 = (0.0012 - -0.0012 * r (j));% ymax的初始条件
%马克斯
y (1) = Y0;
z (1) = Z0;
% %精确解
yExact = (d * r (j)) * tan (e (t));
zExact = (f * r (j)) * tan (g (t));
流(牛津大学出版社,' \ n \ nAt R = % 2.1 f \ n”, R (j));
流(牛津大学出版社,' \ nEXACTSOLUTION \ n ');
流(牛津大学出版社,“______________________________________________________ \ n”);
流(牛津大学出版社,一步t y (min) y (max) \ n ');
流(牛津大学出版社,“______________________________________________________ \ n”);
流(牛津大学出版社,' % 3 d % 11.2 f % 11.15 f % 11.15 f \ n ', 1, t (1) yExact (1) zExact (1));
i = 1: N
t (i + 1) = t(我)+ h;
你们(i + 1) = (d * r (j)) * tan (e (t + 1));
泽(i + 1) = (f * r (j)) * tan (g (t + 1));
流(牛津大学出版社,' % 3 d % 11.2 f % 11.15 f % 11.15 f \ n ', i + 1, t (i + 1),你们(i + 1),泽(i + 1));
结束
%近似解
流(牛津大学出版社,' \ n \ nMILNE辛普森方法');
流(牛津大学出版社,“______________________________________________________ \ n”);
流(牛津大学出版社,一步t y (min) y (max) \ n ');
流(牛津大学出版社,“______________________________________________________ \ n”);
流(牛津大学出版社,' % 3 d % 11.2 f % 11.15 f % 11.15 f \ n ', 1, t (1), y (1)、z (1));
%龙格-库塔
因为我= 1:3
t (i + 1) = t(我)+ h;
%龙格-库塔公式
%为ymin
k1 = h * f (t(我),y (i));
k2 = h * f (t(我)+ h / 2, y (i) + (k1/2));
k3 = h * f (t(我)+ h / 2, y (i) + (k2/2));
k4 = h * f (t(我)+ h, y (i) + k3);
(i + 1) = y(我)+ (1/6 * (k1 + 2 * k2 + 2 * k3 + k4));
%为ymax
l1 = h * f (t (i)、z (i));
l2 = h * f (t(我)+ h / 2, z(我)+ (l1/2));
l3 = h * f (t(我)+ h / 2, z(我)+ (l2/2));
l4 = h * f (t(我)+ h, z(我)+ l3);
z z (i + 1) = (1) + (1/6 * (l1 + 2 * l2 + 2 * l3 + l4));
%流(牛津大学出版社,' % 3 d % 11.2 f % 11.15 f % 11.15 f \ n ',我,t (i), y (i)、z (i));
流(牛津大学出版社,' % 3 d % 11.2 f % 11.15 f % 11.15 f \ n ', i + 1, t (i + 1), y (i + 1)、z (i + 1));
结束
% Milne-Simpson方法
因为我= 4:N
t (i + 1) = t(我)+ h;
%公式预测:米尔恩
yP (i + 1) = y(我)+ h (4/3) * * (2 * f (t(我2),y(我2))- f (t(张),y(张)+ 2 * f (t (i), y(我)));
zP (i + 1) = z h(我)+ (4/3)* * (2 * f (t(我2)、z(我2))- f (t(张)、z(张)+ 2 * f (t (i)、z(我)));
%公式校正器:米尔恩
(i + 1) = y(张)+ (h / 3) * (f (t(张),y(张)+ 4 * f (t (i), y(我))+ f (t (i + 1), yP (i + 1)));
z (i + 1) = z(张)+ (h / 3) * (f (t(张)、z(张)+ 4 * f (t (i)、z(我))+ f (t (i + 1), zP (i + 1)));
流(牛津大学出版社,' % 3 d % 11.2 f % 11.15 f % 11.15 f \ n ', i + 1, t (i + 1), y (i + 1)、z (i + 1));
结束
%绝对误差
流(牛津大学出版社,' \ nABSOLUTEERROR \ n ');
流(牛津大学出版社,“__________________________________________ \ n”);
流(牛津大学出版社,一步t y (min) y (max) \ n ');
流(牛津大学出版社,“_________________________________________ \ n”);
yError = abs (yExact (1) - y (1));
zError = abs (zExact (1) - z (1));
流(牛津大学出版社,' % 3 d % 11.2 f % 11.5 e % 11.5 e \ n ', 1, t (1) yError, zError);
i = 1: N
t (i + 1) = t(我)+ h;
yError = abs(你们(i + 1) - y (i + 1));
zError = abs(泽(i + 1) - z (i + 1));
流(牛津大学出版社,' % 3 d % 11.2 f % 11.5 e % 11.5 e \ n ', i + 1, t (i + 1), yError, zError);
结束
r (j + 1) = (j) + r;
结束

登录置评。

答案(0)

类别

找到更多的在化工过程设计帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!