资源描述:
《第3章 matlab符号计算课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章符号计算1、学会符号变量和符号表达式的定义;2、能够使用符号运算解决一般的微积分和方程求解问题。3.1符号计算基础3.2符号导数及应用3.3符号积分3.4级数3.5代数方程符号求解3.6常微分方程符号求解3.7作业3.1符号计算基础3.1.1符号对象1、建立符号变量和符号常数(1)sym函数:sym函数用来建立单个符号量;例如:a=sym('a')建立符号变量a,此后,用户可以在表达式中使用变量a进行各种运算。例3.1考察符号变量和数值变量的差别。在MATLAB命令窗口,输入命令:a=sym('a');b=sym('b');c=sym('c');d=
2、sym('d');%定义4个符号变量w=10;x=5;y=-8;z=11;%定义4个数值变量A=[a,b;c,d]%建立符号矩阵AB=[w,x;y,z]%建立数值矩阵Bdet(A)%计算符号矩阵A的行列式det(B)%计算数值矩阵B的行列式例3.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)%计算数值表
3、达式值sqrt(k1)%计算符号表达式值sqrt(r1)%计算数值表达式值sqrt(k3+sqrt(k2))%计算符号表达式值sqrt(r3+sqrt(r2))%计算数值表达式值(2)syms函数1)调用格式:symsvar1var2…varn!注意:不要在变量名上加字符分界符('),变量间用空格而不要用逗号分隔。说明:定义符号变量var1,var2,…,varn;2.建立符号表达式例3.3用两种方法建立符号表达式。方法1:U=sym(‘3*x^2+5*y+2*x*y+3’)%定义符号表达式U方法2:symsxy;%建立符号变量x、yV=3*x^2+5*y
4、+2*x*y+3%定义符号表达式V2*U-V+3%求符号表达式的值例3.4建立x,y的一般二元函数。在MATLAB命令窗口,输入命令:symsxy;f=sym('f(x,y)');3、默认自变量情况原则:MATLAB按照数学常规决定谁是自变量。例3.5:默认自变量情况a*x^2+b*x+c%默认自变量为x1/(4+cos(t))%默认自变量为t4*x/y%默认自变量为x2*a+b%默认自变量为b2*I+4*j%默认自变量为x1)除了i和j之外,字母位置最接近x的小写字母;2)式子中没有上述字母,x被视为默认自变量。3.1.2基本的符号运算(1)符号表达式的
5、四则运算例3.6符号表达式的四则运算示例。symsxyz;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)1.符号表达式运算(2)因式分解与展开1)factor(S):%对S分解因式,S是符号表达式或符号矩阵;2)expand(S):%对S进行展开,S是符号表达式或符号矩阵;3)collect(S):%对S合并同类项,S是符号表达式或符号矩阵;4)collect(S,v):%对S按变量v合并同类项,S是
6、符号表达式或符号矩阵。例3.7对符号矩阵A的每个元素分解因式。symsabxy;A=[2*a^2*b^3*x^2-4*a*b^4*x^3+10*a*b^3*x^4,3*x*y-5*x^2;4,a^3-b^3];factor(A)%对A的每个元素分解因式Ans=?例3.8计算表达式S的值。symsxy;s=(-7*x^2-8*y^2)*(-x^2+3*y^2);expand(s)%对s展开collect(s,x)%对s按变量x合并同类项factor(ans)%对ans分解因式(3)表达式化简1)simplify(S):应用函数规则对S进行化简;2)simpl
7、e(S):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。例3.9化简symsxy;s=(x^2+y^2)^2+(x^2-y^2)^2;simple(s)%MATLAB自动调用多种函数对s进行化简,并显示每步结果2.符号矩阵运算1)transpose(S):返回S矩阵的转置矩阵;2)determ(S):返回S矩阵的行列式值;3)colspace(S):返回S矩阵列空间的基;4)[Q,D]=eigensys(S):Q返回S矩阵的特征向量,D返回S矩阵的特征值。3.1.3符号表达式中变量的确定1)MATLAB中的符号可以表示符号变量和符号常数;
8、2)findsym可以帮助用户查找一个符号表达式中的符号变量。3)