%%  演示 subs() 函数对符号表达式进行变量或子表达式替换

% 示例 1：简单变量替换（数值代入）
syms a b
% 定义符号表达式：expr = a + b
% subs(expr, a, 4) 将表达式中的变量 a 替换为数值 4
expr = subs(a + b, a, 4);
disp(expr)      % 输出：b + 4

% 示例 2：子表达式替换（整体替换）
% 定义符号表达式：expr = a * b²
% subs(expr, a*b, 5) 尝试将子表达式 a·b 替换为 5
expr = subs(a*b^2, a*b, 5);
disp(expr)      % 输出：a*b^2（替换未生效）

% 示例 3：方程之间的替换（利用等式关系）
syms x y
% 定义两个符号方程：
%   eqn1: sin(x) + y = x² + y²
%   eqn2: y·x = cos(x)
eqn1 = sin(x)+y == x^2 + y^2;
eqn2 = y*x == cos(x);
eqn1 = subs(eqn1, sin(x), sin(x)^2);  % 替换 eqn1 中的 sin(x) 为 sin(x)^2
eqn2 = subs(eqn2, y*x, cos(x+y)^2);        % 替换 eqn2 中的 y·x 为 cos(x+y)^2
disp(eqn1)      
disp(eqn2)       