clear; clc;

% 输入参数：
% vec_x：已知数据点的x坐标向量
% vec_y：已知数据点的y坐标向量
vec_x = [0, 1, 2, 3];  % 示例x坐标
vec_y = [1, 2, 5, 10]; % 示例y坐标（对应y=x²+1）


Ratn(:, 1) = vec_y';
s = length(vec_x);
for i = 2 : s
    for j = 2 : i
        Ratn(i, j) = (vec_x(i) - vec_x(j - 1)) / (Ratn(i, j - 1) - Ratn(j - 1, j - 1));
    end
end

syms x
k = s;
vkx = Ratn(s, s);

while k > 1
    vkx = Ratn(k - 1, k - 1) + (x - vec_x(k - 1)) / vkx;
    k = k - 1;
end
Rnx = simplify(vkx);

% 输出结果：
% Ratn：有理连分式的系数矩阵
% Rnx：有理连分式逼近函数（符号形式）
Ratn, Rnx