第7章MATLAB符号计算 7.1符号计算基础 7.2符号导数及其应用 7.3符号积分 7.4 级数 7.5符号方程求解
第7章 MATLAB符号计算 7.1 符号计算基础 7.2 符号导数及其应用 7.3 符号积分 7.4 级数 7.5 符号方程求解
7.1符号计算基础 7.1.1符号对象 1.建立符号变量和符号常数 (1)sym函数 sym函数用来建立单个符号量,例如,a=sym('a') 建立符号变量a,此后,用户可以在表达式中使用 变量a进行各种运算
7.1 符号计算基础 7.1.1 符号对象 1. 建立符号变量和符号常数 (1)sym函数 sym函数用来建立单个符号量,例如,a=sym('a') 建立符号变量a,此后,用户可以在表达式中使用 变量a进行各种运算
例7.1考察符号变量和数值变量的差别。 在ATLAB命令窗口,输入命令: a=sym('a');b=sym('b');c=sym('c');d=sym('d'); 定义4个符号变量 w=10;x=5;y=-8;z=11; %定义4个数值变量 A=[a,b;c,d] %建立符号矩阵A B=w,x;y,Z %建立数值矩阵B det(A) %计算符号矩阵A的行列式 det(B) %计算数值矩阵B的行列式
例7.1 考察符号变量和数值变量的差别。 在 MATLAB命令窗口,输入命令: a=sym('a');b=sym('b');c=sym('c');d=sym('d'); % 定义4个符号变量 w=10;x=5;y=-8;z=11; %定义4个数值变量 A=[a,b;c,d] %建立符号矩阵A B=[w,x;y,z] %建立数值矩阵B det(A) %计算符号矩阵A的行列式 det(B) %计算数值矩阵B的行列式
例7.2比较符号常数与数值在代数运算时的差别。 在MATLAB命令窗口,输入命令: pil=sym('pi);kl=sym('8');k2=sym('2');k3=sym('3'); 义符号变量 pi2=pi;rl=8;r2=2;r3=3; %定义数值变量 sin(pil/3) %计算符号表达式值 sin(pi2/3) %计算数值表达式值 sqrt(k1) %计算符号表达式值 sqrt(r1) %计算数值表达式值 sqrt(k3+sqrt(k2)) %计算符号表达式值 sqrt(r3+sqrt(r2)) %计算数值表达式值
例7.2 比较符号常数与数值在代数运算时的差别。 在 MATLAB命令窗口,输入命令: pi1=sym('pi');k1=sym('8');k2=sym('2');k3=sym('3'); % 定 义符号变量 pi2=pi;r1=8;r2=2;r3=3; % 定义数值变量 sin(pi1/3) % 计算符号表达式值 sin(pi2/3) % 计算数值表达式值 sqrt(k1) % 计算符号表达式值 sqrt(r1) % 计算数值表达式值 sqrt(k3+sqrt(k2)) % 计算符号表达式值 sqrt(r3+sqrt(r2)) % 计算数值表达式值
(2)syms函数 syms函数的一般调用格式为: syms varl var2 ..varn 函数定义符号变量varl,var2,.varn等。用这种 格式定义符号变量时不要在变量名上加字符分界 符),变量间用空格而不要用逗号分隔
(2)syms函数 syms函数的一般调用格式为: syms var1 var2 … varn 函数定义符号变量var1,var2,…,varn等。用这种 格式定义符号变量时不要在变量名上加字符分界 符('),变量间用空格而不要用逗号分隔
2.建立符号表达式 建立符号表达式有以下3种方法: (1)利用单引号来生成符号表达式。 (2)用sym函数建立符号表达式。 (3)使用已经定义的符号变量组成符号表达式
2. 建立符号表达式 建立符号表达式有以下3种方法: (1)利用单引号来生成符号表达式。 (2)用sym函数建立符号表达式。 (3) 使用已经定义的符号变量组成符号表达式
7.1.2基本的符号运算 1.符号表达式的四则运算 符号表达式的四则运算和其他表达式的运算并无不 同,但要注意,其运算结果依然是一个符号表达 式。符号表达式的加、减、乘、除运算可分别由 函数symadd、symsub、symmul和symdiv:来实现, 幂运算可以由sympow来实现
7.1.2 基本的符号运算 1. 符号表达式的四则运算 符号表达式的四则运算和其他表达式的运算并无不 同,但要注意,其运算结果依然是一个符号表达 式。符号表达式的加、减、乘、除运算可分别由 函数symadd、symsub、symmul和symdiv来实现, 幂运算可以由sympow来实现
2.符号表达式的提取分子和分母运算 如果符号表达式是一个有理分式或可以展开 为有理分式,可利用numden函数来提取符 号表达式中的分子或分母。其一般调用格 式为: [n,d]=numden(s) 该函数提取符号表达式s的分子和分母,分别 将它们存放在n与d中
2.符号表达式的提取分子和分母运算 如果符号表达式是一个有理分式或可以展开 为有理分式,可利用numden函数来提取符 号表达式中的分子或分母。其一般调用格 式为: [n,d]=numden(s) 该函数提取符号表达式s的分子和分母,分别 将它们存放在n与d中
3.因式分解与展开 factor(S)对S分解因式,S是符号表达式或 符号矩阵。 expand(S)对S进行展开,S是符号表达式或 符号矩阵。 collect(S)对S合并同类项,S是符号表达式 或符号矩阵。 collect(S,v)对S按变量v合并同类项,S是符 号表达式或符号矩阵
3.因式分解与展开 factor(S) 对S分解因式,S是符号表达式或 符号矩阵。 expand(S) 对S进行展开,S是符号表达式或 符号矩阵。 collect(S) 对S合并同类项,S是符号表达式 或符号矩阵。 collect(S,v) 对S按变量v合并同类项,S是符 号表达式或符号矩阵
4.表达式化简 MATLAB提供的对符号表达式化简的函数有: simplify(S)应用函数规则对S进行化简。 simple(S)调用MATLAB的其他函数对表达式进 行综合化简,并显示化简过程
4.表达式化简 MATLAB提供的对符号表达式化简的函数有: simplify(S) 应用函数规则对S进行化简。 simple(S) 调用MATLAB的其他函数对表达式进 行综合化简,并显示化简过程