第6章 MATLAB符号计算 6.1符号计算基础 62符号导数及其应用 63符号积分 64级数 65代数方程的符号求解 66常微分方程的符号求解
第6章 MATLAB符号计算 6.1 符号计算基础 6.2 符号导数及其应用 6.3 符号积分 6.4 级数 6.5 代数方程的符号求解 6.6 常微分方程的符号求解
6.1符号计算基础 6.1.1符号对象 1.建立符号变量和符号常数 (1)ym函数 sym函数用来建立单个符号量,例如,a=sym(al)建立 符号变量a,此后,用户可以在表达式中使用变量a进 行各种运算
6.1 符号计算基础 6.1.1 符号对象 1. 建立符号变量和符号常数 (1)sym函数 sym函数用来建立单个符号量,例如,a=sym('a')建立 符号变量a,此后,用户可以在表达式中使用变量a进 行各种运算
例6.1考察符号变量和数值变量的差别。 在 MATLAB命令窗口,输入命令: a=sym(a)b=sym(b);c=sym(c)d=sym(d);%定义4个符号变量 w=10;X=5y=-8;z=11 %定义4个数值变量 A=a, b c, d] %建立符号矩阵A B=lw,;y,zI %建立数值矩阵B det(A) %计算符号矩阵A的行列式 det(B) %计算数值矩阵B的行列式
例6.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的行列式
例62比较符号常数与数值在代数运算时的差别 在 MATLAB命令窗口,输入命令: pil=sym(pi1)kl=sym(8)k2=sym(2)k3=sym(3);,%定义符号变量 p2=pir1=8,2=2;3=3; %定义数值变量 sin(pil/3) %计算符号表达式值 sin(pi2/3) %计算数值表达式值 sqrt(k1) %计算符号表达式值 %计算数值表达式值 sqrt(k3+sqrt(k2)) %计算符号表达式值 sqrt(r3+sqrt(r2)) %计算数值表达式值
例6.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)sym函数 syms函数的一般调用格式为: syms var I var2….varn 函数定义符号变量 varl.van2,van等。用这种格式定 义符号变量时不要在变量名上加字符分界符(),变量 间用空格而不要用逗号分隔
(2)syms函数 syms函数的一般调用格式为: syms var1 var2 … varn 函数定义符号变量var1,var2,…,varn等。用这种格式定 义符号变量时不要在变量名上加字符分界符('),变量 间用空格而不要用逗号分隔
2.建立符号表达式 例6.3用两种方法建立符号表达式。 在 MATLAB窗口,输入命令: U=sym(3*x2+5*y+2*x*y+6)%定义符号表达式U syms X y, 冶建立符号变量x、y V=3*x^2+5*y+2*x*y+6%定义符号表达式V 2*UV+6 求符号表达式的值
2. 建立符号表达式 例6.3用两种方法建立符号表达式。 在MATLAB窗口,输入命令: U=sym('3*x^2+5*y+2*x*y+6') %定义符号表达式U syms x y; %建立符号变量x、y V=3*x^2+5*y+2*x*y+6 %定义符号表达式V 2*U-V+6 %求符号表达式的值
例64计算3阶范得蒙矩阵行列式的值。设A是 个由符号变量abc确定的范得蒙矩阵。 命令如下: syms ab c U=a,b, c] A=[1,1,1]U;U^2]%建立范得蒙符号矩阵 det(a) %计算A的行列式值
例6.4计算3阶范得蒙矩阵行列式的值。设A是一 个由符号变量a,b,c确定的范得蒙矩阵。 命令如下: syms a b c; U=[a,b,c]; A=[[1,1,1];U;U.^2] %建立范得蒙符号矩阵 det(A) %计算A的行列式值
例65建立xy的一般二元函数。 在 MATLAB命令窗口,输入命令: Syms x y fsym(f(x,y))
例6.5建立x,y的一般二元函数。 在MATLAB命令窗口,输入命令: syms x y; f=sym('f(x,y)');
6.1.2基本的符号运算 1.符号表达式运算 1)符号表达式的四则运算 例66符号表达式的四则运算示例。 在 MATLAB命令窗口,输入命令: Syms xy z, f2*x+x^2*x-5*x+x^3%符号表达式的结果为最简形式 f2*x/(5*x) %符号表达式的结果为最简形式 f(x+y)(x-y) %符号表达式的结果不是x2-y^2,而是(x+y)*(xy
6.1.2 基本的符号运算 1. 符号表达式运算 (1)符号表达式的四则运算 例6.6符号表达式的四则运算示例。 在 MATLAB命令窗口,输入命令: syms x y z; f=2*x+x^2*x-5*x+x^3 %符号表达式的结果为最简形式 f=2*x/(5*x) %符号表达式的结果为最简形式 f=(x+y)*(x-y) %符号表达式的结果不是x^2-y^2,而是(x+y)*(x-y)
(2)因式分解与展开 factor(S)对S分解因式,S是符号表达式或符号矩 阵。 expand(S)对S进行展开,S是符号表达式或符号 矩阵。 collect(S)对S合并同类项,S是符号表达式或符 号矩阵 collect(s,y)对S按变量v合并同类项,S是符号表 达式或符号矩阵
(2)因式分解与展开 factor(S) 对S分解因式,S是符号表达式或符号矩 阵。 expand(S) 对S进行展开,S是符号表达式或符号 矩阵。 collect(S) 对S合并同类项,S是符号表达式或符 号矩阵。 collect(S,v) 对S按变量v合并同类项,S是符号表 达式或符号矩阵