%%  演示 int() 函数对符号表达式进行不定积分和定积分

% 示例 1：有理函数的不定积分
syms x
% 定义被积函数：expr = -2x / (1+x²)²
%   这是可通过换元法求解的典型有理函数
%
% 换元思路：令 u = 1+x²，则 du = 2x dx
%   ∫ -2x/(1+x²)² dx = -∫ du/u² = 1/u + C = 1/(1+x²) + C
expr = -2*x/(1+x^2)^2;

% int(expr) 对默认变量 x 求不定积分
F = int(expr);
disp(F)         % 输出：1/(x^2 + 1)（省略了积分常数 C）

% 示例 2：默认积分变量的确定
syms x z

% 定义二元函数：f(x,z) = x / (1+z²)
f = x/(1+z^2);
% symvar(f, 1) 返回 f 中的第一个符号变量（按字母顺序）
%   f = x/(1+z²) 中，变量为 x 和 z，x 排第一
var = symvar(f, 1);
disp(var)       % 输出：x

% int(f) 未指定变量时，对默认变量（symvar 第一个）积分
%   因此等效于 int(f, x)，结果与 Fx 相同
F = int(f);
disp(F)         % 输出：x^2/(2*(z^2 + 1))

% 示例 3：保持积分不计算（用于手动操作）
syms x
% int(x*exp(x), 'Hold', true) 阻止积分立即求出结果
F = int(x*exp(x), 'Hold', true);
disp(F)         % 输出：int(x*exp(x), x)（未计算的积分形式）