Page 108 - 数学建模算法与应用
P. 108
Mathematical Modeling Algorithms and Applications
数学建模算法与应用
五、经典算法程序举例
算法是程序的灵魂,是一种执行步骤。下面列举几种常用的 MATLAB 算法
程序。
(一)雅可比 (Jacobi) 迭代算法
该算法是解方程组的一个较常用的迭代算法,其 MATLAB 程序如下所示:
function x = ykb(A,b,x0,tol)
D = diag(diag(A)); % 将 A 分解为 D,-L,-U
L = tril(A,-1); % 将 A 分解为 D-L,-U
U = triu(A,1);
B1 = D\(L + U);
f1 = D\b;
d = norm(B1);
while d/(1-d) > tol % 迭代过程
x = B1*x0 + f1;
d = norm(x - f1);
x0 = x;
end
x = x0;
end
(二)拉格朗日 (Lagrange) 插值函数算法
该算法用于求解插值点处的函数值
function y = lagr1(x0,y0,x)
% x0,y0 为已知点列,x 为待插值节点 ( 可为数组 )
% 当输入参数只有 x0,y0 时返回 y 为插值函数
% 当输入参数有 x 时返回 y 为插值函数在 x 处所对应的函数值
n = length(x0);
if nargin == 2
syms x
y = 0;
98

