%%  演示 diff() 函数对符号表达式进行求导和高阶偏导计算

% 示例 1：默认变量求导与指定变量求导
syms x t
% 定义二元函数：f(x,t) = sin(x·t²)
Df = diff(sin(x*t^2));
% diff(表达式) 默认对表达式中的"主变量"求导
disp(Df)        % 输出：t^2*cos(t^2*x)

% symvar(表达式, 1) 返回表达式中的第一个符号变量（主变量）
var = symvar(sin(x*t^2), 1);
disp(var)       % 输出：x

% diff(表达式, 变量) 显式指定对 t 求偏导
Df = diff(sin(x*t^2), t);
disp(Df)        % 输出：2*t*x*cos(t^2*x)

% 示例 2：高阶导数
syms t

% diff(表达式, 变量, n) 计算 n 阶导数
% 对 f(t) = t⁶ 逐次求高阶导数：
%   f'(t)  = 6t⁵
%   f''(t) = 30t⁴
%   f'''(t) = 120t³
%   f⁽⁴⁾(t) = 360t²
D4 = diff(t^6, t, 4);
disp(D4)        % 输出：360*t^2

% 5 阶导数：f⁽⁵⁾(t) = 720t
D5 = diff(t^6, t, 5);
disp(D5)        % 输出：720*t

% 6 阶导数：f⁽⁶⁾(t) = 720（常数）
D6 = diff(t^6, t, 6);
disp(D6)        % 输出：720

% 示例 3：混合偏导数
syms x y

% diff(表达式, var1, var2) 计算混合偏导数 ∂²f/(∂x∂y)
%   等效于 diff(diff(f, x), y)，即先对 x 求偏导，再对 y 求偏导
Df = diff(x*sin(x*y), x, y);
disp(Df)        % 输出：2*x*cos(x*y) - x^2*y*sin(x*y)

% 示例 4：多重高阶混合偏导数
syms x y

% diff(表达式, var1, var1, var1, var2) 计算 ∂⁴f/(∂x³∂y)
%   等效于对 x 连续求导 3 次，再对 y 求导 1 次
Df = diff(x*sin(x*y), x, x, x, y);
disp(Df)        % 输出包含 sin(x*y) 和 cos(x*y) 的组合表达式