MATLAB第5章解方程.ppt
《MATLAB第5章解方程.ppt》由会员分享,可在线阅读,更多相关《MATLAB第5章解方程.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 MATLABMATLAB的符号运算5.1 5.1 符号对象的创建符号对象的创建5.2 5.2 基本的符号运算基本的符号运算5.3 5.3 符号微积分符号微积分5.4 5.4 符号方程的求解符号方程的求解5.1 5.1 符号对象的创建(定义)符号对象的创建(定义)MATLAB提供了一种数据类型提供了一种数据类型:符号型数符号型数据据,可以进行符号运算,是符号运算的对象,可以进行符号运算,是符号运算的对象,因此也把符号数据称为符号对象。因此也把符号数据称为符号对象。符号对象可以是符号变量、符号常量、符符号对象可以是符号变量、符号常量、符号表达式或符号矩阵。号表达式或符号矩阵。符号对象要先定
2、义,后引用。符号对象要先定义,后引用。如何定义符号变量、符号常量、符号表达如何定义符号变量、符号常量、符号表达式或符号矩阵?式或符号矩阵?用用sym函数、函数、syms函数可以将运算量定义函数可以将运算量定义为符号型数据。为符号型数据。sym函数函数 syms函数函数(一)建立符号变量和符号常数(一)建立符号变量和符号常数1、sym函数函数主要功能:创建单个符号变量。主要功能:创建单个符号变量。调用形式:调用形式:符号变量名符号变量名=sym(=sym(符号字符串符号字符串)将将符符号号字字符符串串创创建建为为一一个个符符号号变变量量,符符号号变变量量的的值值就就是是该该符符号号字字符符串串,
3、符符号号字字符符串串 可可以以是是常常量量、变量、函数变量、函数或表达式。或表达式。注意注意:每次调用该函数,只能定义:每次调用该函数,只能定义一个一个符号变量。符号变量。使用方法举例使用方法举例a=sym(a=sym(a a)%将将aa创建为符号变量,以创建为符号变量,以a a作为作为输出变量名输出变量名 a=a=a ab=sym(b=sym(b b)x=sym(x=sym(x x)y=sym(y=sym(y y)符号变量的名字不一定和字符串中的字母相同符号变量的名字不一定和字符串中的字母相同 例如:例如:m=sym(m=sym(y y)SymSym函数可以定义函数可以定义符号常数符号常数:
4、k1=sym(9);k2=sym(3);k1=sym(9);k2=sym(3);%定义符号变量定义符号变量 r1=9;r2=3;r1=9;r2=3;%定义数值变量定义数值变量 k1+sqrt(k2)k1+sqrt(k2)%符号计算(精确的数学表达式)符号计算(精确的数学表达式)ans=9+3(1/2)ans=9+3(1/2)r1+sqrt(r2)r1+sqrt(r2)%数值计算(近似为一个有限小数)数值计算(近似为一个有限小数)ans=10.7321 ans=10.7321 2、syms函数函数 syms函函数数的的功功能能与与sym函函数数类类似似。但但syms函函数数可可以以在在一一个个语
5、句中语句中同时定义多个符号变量同时定义多个符号变量,其一般格式为:,其一般格式为:syms arg1 arg2 argN 将将 arg1,arg2,argN 定义为符号变量。定义为符号变量。例如:例如:syms a b c d x y使使用用方方便便、书书写写简简洁洁、意意义义清清楚楚,一一般般提提倡倡使使用用syms创创建建符号变量。符号变量。(二)(二)定义符号表达式定义符号表达式 符符号号表表达达式式由由符符号号变变量量、函函数数、算算术术运运算算符符等等组成。符号表达式的书写格式与数值表达式相同。组成。符号表达式的书写格式与数值表达式相同。有三种定义方法:有三种定义方法:1.1.用用s
6、ymsym函数定义函数定义2.2.用用symssyms函函数数定定义义(用用已已定定义义的的符符号号变变量量组组成符号表达式成符号表达式)3.3.用单引号定义用单引号定义 f1=sym(3*x2-5*y+2*x*y+6)f1=3*x2-5*y+2*x*y+6 syms x y (必须先定义必须先定义 x y)f2=3*x2-5*y+2*x*y+6 f2=3*x2-5*y+2*x*y+6 f3=3*x2-5*y+2*x*y+6 f3=3*x2-5*y+2*x*y+6例如,将数学表达式例如,将数学表达式 定义为符号表达式定义为符号表达式 y=1+sqrt(5*x)/2 y=1+sqr(5*x)/2
7、 f=sym(1+sqrt(5*x)/2)f=1+sqrt(5*x)/2 syms x v=1+sqrt(5*x)/2 v=1+1/2*5(1/2)*x(1/2)(三)定义符号矩阵(三)定义符号矩阵使用使用symsym和和symssyms函数可以创建符号矩阵,可以函数可以创建符号矩阵,可以直接输入或从数值矩阵转换。直接输入或从数值矩阵转换。例例2:创建一个符号矩阵两种方法:创建一个符号矩阵两种方法 m=sym(a,b;c,d)m=a,b c,dsyms a b c dn=a,b;c,dn=a,b c,d 注意:注意:符号矩阵与普通矩阵的区别:符号矩阵与普通矩阵的区别:命令窗口的显示形式不同;命
8、令窗口的显示形式不同;工作空间窗口显示的变量图标不工作空间窗口显示的变量图标不同。同。建立符号矩阵建立符号矩阵Z=sym(a3-b3,sin(alp)2+cos(alp)2;(15*x*y-3*x2)/(x-5*y),78);Z=a3-b3,sin(alp)2+cos(alp)2(15*x*y-3*x2)/(x-5*y),78syms a b x y alp Z1=a3-b3,sin(alp)2+cos(alp)2;(15*x*y-3*x2)/(x-5*y),78Z1=a3-b3,sin(alp)2+cos(alp)2(15*x*y-3*x2)/(x-5*y),78(四)符号表达式中符号(四)
9、符号表达式中符号变量变量的确定的确定 在在数数学学表表达达式式中中,一一般般习习惯惯于于使使用用排排在在字字母母表表前前面面的的字字母母作作为为变变量量的的系系数数(常常数数),而而用用排排在在后后面面的的字字母母(如如x,y,zx,y,z)表示变量。例如:表示变量。例如:f=ax f=ax2 2+bx+c+bx+c 表表达达式式中中,将将x x看看作作自自变变量量,a,b,ca,b,c通通常常被被认认为为是是常常数数,用用作变量的系数。作变量的系数。i,j 通常表示虚数单位,在符号运算中不能用作自变量通常表示虚数单位,在符号运算中不能用作自变量 在在MATLABMATLAB中中引用符号表达式
10、时,有符号常量和符号变量,如何确定谁引用符号表达式时,有符号常量和符号变量,如何确定谁是符号自变量呢?可以由用户可以指定;若用户没有指定符号变量,则自是符号自变量呢?可以由用户可以指定;若用户没有指定符号变量,则自动使用动使用findsym函数默认的变量作为函数的变量参数。函数默认的变量作为函数的变量参数。findsym函数的函数的原则为:自变量为在字母顺序排列的位置上最接近原则为:自变量为在字母顺序排列的位置上最接近x的的小写小写字母(除了字母(除了i和和j之外)。如果式子中没有上述字母,则之外)。如果式子中没有上述字母,则x会被视为默认的自会被视为默认的自变量。如下表:变量。如下表:符号表
11、达式符号表达式 默认自变量默认自变量a*x2+b*x+c x1/(4+cos(t)t4*x/y x2*a+b b2*i+4*j x查询符号表达式的默认自变量查询符号表达式的默认自变量 findsym函函数数可可以以查查询询表表达达式式中中使使用用的的符符号号变变量量个个数数及及变变量名。量名。引用格式为:引用格式为:findsym(f,n)说明:说明:f 为用户定义的符号函数,为用户定义的符号函数,n为正整数,表示查询变量的个数。为正整数,表示查询变量的个数。n值省略时表示查询符号函数中全部系统默认变量。值省略时表示查询符号函数中全部系统默认变量。【例例3】查询符号函数】查询符号函数 中的系统
12、默认变量。中的系统默认变量。syms a b n t x%定义符号变量定义符号变量f=a*xn+b*t;%给定符号表达式给定符号表达式findsym(f,1)%在在f函数中查询函数中查询1个系统默认变量个系统默认变量ans=x 表示表示f函数中查询的函数中查询的1个系统默认变量为个系统默认变量为x。findsym(f,2)ans=x,tfindsym(f,5)ans=x,t,n,b,a 以最接近以最接近x顺序排列的顺序排列的5个默认自变量个默认自变量findsym(f)ans=a,b,n,t,x 返回返回 f表达式中按字母顺序排列的全部自变量表达式中按字母顺序排列的全部自变量5.2 基本的符号
13、运算基本的符号运算1.1.符号表达式的四则运算符号表达式的四则运算2.2.2.2.符号表达式的因式分解、展开、分式符号表达式的因式分解、展开、分式3.3.通分通分3.3.符号表达式的化简符号表达式的化简1.1.符号表达式的四则运算符号表达式的四则运算symadd(f1,f2)f1+f2 symsub(f1,f2)f1-f2 symmul(f1,f2)f1*f2 symdiv(f1,f2)f1/f2sympow(f1,f2)f1f2f=2*x2+3*x-5g=x2-x+7symadd(f,g)ans=3*x2+2*x+2symsub(f,g)ans=x2+4*x-12symmul(f,g)ans
14、=(2*x2+3*x-5)*(x2-x+7)symdiv(f,g)ans=(2*x2+3*x-5)/(x2-x+7)sympow(f,3*x)ans=(2*x2+3*x-5)(3*x)2.2.符号表达式的因式分解、展开、分式通分符号表达式的因式分解、展开、分式通分因式分解函数为因式分解函数为 factorfactor 调用格式为:调用格式为:factor(s)factor(s)举例举例符号表达式的展开符号表达式的展开 函数为函数为 expand 调用格式为:调用格式为:expand(s)举例举例同类项合并函数为同类项合并函数为 collect 调用格式为:调用格式为:collect(s,n)举
15、例举例 S为符号表达式,为符号表达式,n为要合并系数的自变量为要合并系数的自变量符号表达式的分式通分函数为符号表达式的分式通分函数为 numden 调用格式为:调用格式为:n,d=numden(s)举例举例 n 为通分后的分子,为通分后的分子,d为分母为分母3.3.符号表达式的化简符号表达式的化简表达式的化简函数为表达式的化简函数为 simple、simplify 调用格式为调用格式为:simplify(s)使用使用Maple的化简规则化简函数的化简规则化简函数 r,how=simple(s)用多种方法寻找符号表达式用多种方法寻找符号表达式s的最简型,的最简型,r为返回的为返回的化简形式化简形
16、式,how为化简过程使用的主要为化简过程使用的主要方法方法 举例举例【例例1】对表达式对表达式 进行因式分解进行因式分解 syms x f=factor(x9-1)f=(x-1)*(x2+x+1)*(x6+x3+1)pretty(f)%按照类似书写习惯的方式显示按照类似书写习惯的方式显示(x-1)(x2+x+1)(x6+x3+1)【例例2】对大整数进行因式分解对大整数进行因式分解 【例例3】展开表达式展开表达式 和和 syms x y f=(x+1)5;expand(f)ans=x5+5*x4+10*x3+10*x2+5*x+1 f=sin(x+y);expand(f)ans=sin(x)*c
17、os(y)+cos(x)*sin(y)【例例4】对表达式对表达式 分别将分别将自变量自变量x和和t的同类项合并的同类项合并 syms x t f=x*(x*(x-6)+12)*t;collect(f)ans=t*x3-6*t*x2+12*t*x collect(f,t)ans=x*(x*(x-6)+12)*t【例例5】对表达式对表达式 进行通分进行通分 syms x y f=x/y+y/x;n,d=numden(f)n=x2+y2 d=y*x【例【例6 6】对表达式对表达式 进行化简进行化简 syms x f=sin(x)2+cos(x)2;simplify(f)simplify(f)ans=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 方程
限制150内