




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第5讲MATLAB的符号计算5.6不定积分 5.7符号函数的定积分 5.8积分变换(*) 5.9级数的符号求和; 5.10函数的泰勒级数; 5.11函数的傅立叶级数(*); 5.12线性方程组的符号求解; 5.13非线性方程组的符号求解; 5.14常微分方程的符号求解; 5.15常微分方程组求解符号计算基础2、由符号对象参与运算的数学表达式(符号型): 组成:(符号)常数、符号型变量、符号型常量、函数、数学运算符; 要求:执行表达式之前必须对其中所有符号型变量、符号型常量进行类型定义; 运算结果:一个符号型数学表达式 例如:symsx; y=exp(x)*sin(2*x)-1/53、以字符串形式表达的数学表达式(字符串型): 组成:由数值型或符号型数学表达式两端加'就转换为字符串型数学表达式; 要求:(1)若调用eval函数,可将其转化为数值型数学表达式并执行,但调用eval之前必须对其中所有数值型变量赋值;(2)若调用sym函数,可将其转化为符号型数学表达式;运算结果:(1)若调用eval函数,可获得一个数值或数值数组;(2)若调用sym函数,获得一个符号型数学表达式; 例如:d=1/3 c=eval('d^2-1/5*sin(x)') e=sym('d^2-1/5*sin(x)') class(e) diff(e)5.1符号对象 1.建立符号对象(类型定义) (1)syms函数: syms函数的一般调用格式为: symsvar1var2…varn 定义符号对象var1,var2,…,varn等。用这种格式定义符号量时符号量间用空格而不要用逗号分隔。 还可以用如下方式定义: syms('var1','var2',…,'varn') 例如:symsxyz syms('x','y','z')(2)sym函数: sym函数的一般调用格式为: f=sym(arg) 将数值、数值表达式或字符串表达式arg转换为相应的符号对象后赋给f,则f成为一个符号量,它的内容可以是符号常数、符号变量甚至符号表达式。 例如: f=sym('x^2-5') diff(f)例1考察符号变量和数值变量的差别。 在MATLAB命令窗口,输入命令: symsabcd;%定义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的行列式 class(A)%判断变量A的类型 class(B)例2比较符号常数与数值在代数运算时的差别。 在MATLAB命令窗口,输入命令: pi1=sym('pi');k1=sym('8');k2=sym('2');k3=sym('3'); %定义4个符号变量,其内容由4个符号常数指定 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.建立符号表达式 例3用两种方法建立符号表达式。 在MATLAB窗口,输入命令: (1)先定义符号量,再直接写出符号表达式: symsxy;%建立符号变量x、y V=3*x^2+5*y+2*x*y+6%定义符号表达式V (2)用sym函数把字符串表达式转化为符号表达式: U=sym('x^3+5*y')%定义符号表达式U U-V%求符号表达式的值例4常数与符号常数的差异 a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)] %a1是数值常数 a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)]) %最接近的有理表示 a3=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]') %准确的符号数值表示 a23=a2-a3例5计算3阶范得蒙矩阵行列式的值。设A是一个由符号变量a,b,c确定的范得蒙矩阵。 命令如下: symsabc; U=[a,b,c]; A=[[1,1,1];U;U.^2] %建立范得蒙符号矩阵 det(A)%计算A的行列式值 5.2基本的符号运算 1.符号表达式运算 (1)符号表达式的四则运算 例6符号表达式的四则运算示例: symsxyz; f=2*x+x^2*x-5*x+x^3 %符号表达式的结果为最简形式 f=(x+y)*(x-y) %符号表达式的结果不是x^2-y^2,而是(x+y)*(x-y) simple(f)(2)表达式化简 MATLAB提供的对符号表达式化简的函数有: simplify(

ys****39
实名认证
内容提供者


最近下载