MATLAB符号数学工具箱

上传人:c****d 文档编号:243012427 上传时间:2024-09-13 格式:PPT 页数:17 大小:69KB
返回 下载 相关 举报
MATLAB符号数学工具箱_第1页
第1页 / 共17页
MATLAB符号数学工具箱_第2页
第2页 / 共17页
MATLAB符号数学工具箱_第3页
第3页 / 共17页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第十四章 符号数学工具箱,MATLAB所具有的符号数学工具箱(symbolic Math Toolbox) 中定义了一种,新的数据结构,,用来存储代表符号的字符串,称为。可以用来代表符号变量、表达式和矩阵等。,在进行符号计算时,首先要定义基本的符号对象(可以是常数、变量以及表达式等),然后利用这些基本符号对象去构成新的表达式,从而进行所需的符号运算。,在运算中,凡是由包含符号对象的表达式所生成的新对象也那是符号对象。sym和syms是创建和定义基本的符号对象的两个函数,函数syms是sym的简捷方式。,1,14.1 符号表达式及运算,利用sym命令可以创建符号变量和表达式。,S=sym(arg): 由表达式创建一个sym对象S,如果arg是一个字符串(string),则S是符号变量或符号数;如明是数值标量或矩阵,则S是这些给定数值的符号形式。,以下是sym函数调用形式的具体实现方式:,x=sym(x): 建立符号变量x,变量的值为单引号内的字符或字符串,这里是和变量名相同的字符x;,xsym(x,real): 设定符号变量为实型变量(Real) ;,xsym(x,unreal): 使x为纯粹的形式变量,没有附加属性;一般用来,清除x的实数特性,从mapple的工作空间中清除掉。,pi=sym(,pi,)和delta=sym(,1/10,): 建立符号数,避免了浮点数本身的近似,建立的符号数是数值的精确表示。,2,例141,链接,Example 1。,符号表达式是代表数字、函数、算子和变量的MATLAB字符串,或字符串数组。不要求变量有预先确定的值。,利用sym命令创建表达式:,例142,链接,Example1_01。,注意,该例子中用的是显式格式,在MATLAB可以自己确定变量类型的场合下,通常不要求显式函数sym,可以直接用表达式。,例143,链接,Example1_ 02。,然而,很多时候sym是必要的。尤其是建立符号数组时,必须用函数sym,特别地将字符串变为符号表达式。,例144,链接,Example 1_03。,3,MATLAB在内部把符号表达式表示成字符串,与数字变量或运算相区别;否则,这些符号表达式几乎完全像基本的MATLAB命令。,符号表达式 MATLAB表达式,4,许多符号函数能够自动将字符转变为符号表达式。但是最简单形式(无引号)要求个参量,它是一个单字符的字符串,不能包含空格。,例145,链接,Example 1_04。,符号变量,当字符表达式中含有多于一个的变量时,只有一个变量是独立变量。如果不告诉哪一个变量是独立交量,则可以通过findsym函数、查询,找出符号表达式或符号矩阵中的一个或所有变量。,例146,链接,Example 1_05。,符号矩阵的创建:,例147,链接,Example 1_06。,提取分子和分母,如果表达式是个有理分式(两个多项式之比),利用numden来提取分子或分母。在必要时 numden将表达式合并、有理化并返回所得的分子和分母。,5,例148,链接,Example 1_07。,标准代数运算,很多标准的代数运算可以在符号表达式上执行:,symadd, symsub, symmul, symdiv: 加、减、乘、除两个表达式,Sympow: 将一个表达式上升为另一个表达式的幂次。,例149,链接,见Example 1_07。,另一个通用函数可让用户用其它的符号变量、表达式和算子创建新的表达式。,Symop:取由逗号隔开的参量。各个参量可为符号表达式、数值或算子,然后symop可将参量联接起来,返回最后所得的表达式。,例1410,链接,见Example 1_07。,6,高级运算,MATLAB具有对符号表达式执行更高级运算的功能。,compose: 把f(x)和g(x)复合成f(g(x)。,例1411,链接,见Example 1_07。,finverse: 求表达式的函数逆,返回表达式的逆函数。如果解不是唯一就给出警告。,例1412,链接,见Example 1_07。,Symsum:求表达式的符号和,有四种形式:,7,例1413,链接,见Example 1_07。,变换函数,Sym:可获取一个数字参量并将其转换为符号表达式。,Char:Convert sym object to string。,Numeric:功能正好相反,它把一个符号常数(无变量符号表达式)变换为一,个数值。(double7.0版本),Eval:另一个可用于把符号常数变换为数字或计算表达式的函数。,例1414,链接,见Example 1_07。,Sym2poly:将符号多项式变换成它的MATLAB等价系数向量。,poly2sym:功能正好相反,并让用户指定用于所得结果表达式中的变量。,例1415,链接,见Example 1_07。,8,变量替换,Subs: 在符号表达式个进行变量替换。,subs(f, old, new): f是符号表达式,new和old是字符、字符串或其它符号表达式。,例1416,链接,见Example1_07。,14.2 微积分,微分,符号表达式的微分以四种形式利用函数diff。,例1417,链接,Example2。,diff也可对数组进行运算。如果F是符号向量或数组,diff(F)对数组内的各个元素进行微分。diff也用计算数值向量或矩阵的数值差分。,例1418,链接,Example2。,9,积分,int(f):积分函数,f为符号表达式,力图求出另一符号表达式F使diff(F)f。,积分比微分复杂得多。积分或逆求导不一定是以封闭形式存在,或许存在但软件也许找不到,或者软件可明显地求解,但超过内存或时间限制。当MATLAB不能找到逆导数时,它将返回未经计算的命令。,例1419,链接,Example2_01,。,14.3 符号表达式画图,在许多的场合,将表达式可视化是有利的。MATLAB提供了函数ezplot来完成该任务。,例1420,链接,Example3。,10,14.4 符号表达式简化及格式化,有时MATLAB返回的符号表达式难以理解,有许多工具可以使表达式变得更易读懂。,Pretty:以类似于数学课本上的形式来显示符号表达式。,Collect: 合并所有相似项,Factor: 表示成多项式乘积,Expand: 多项式展开,例1421,链接,Example 4。,simplify: 利用各种类型代数恒等式,包括求和、积分和分数幂、三角、指数和log函数、Bessel函数、超几何函数和g函数,来简化表达式。,例1422,链接,Example 4_01。,simple函数: 最有用的、但也是最不正统的,试用了几种不同的简化工具,然后选择在结果表达式中含有最少字符的那种形式。,例1423,链接,见Example 4_01。,11,14.5 可变精度算术运算,因为数值的精度受每次操作所保留的数值的限制,所以数值的任何运算都会引入舍入误差,重复的多次数值运算会造成累积误差。而对符号表达式的运算是非常准确的,因为不需要进行数值运算,所以无舍入误差。对符号运算结果用函数eval或numeric,仅在结果转换时会引入舍入误差。,maple缺省为18位的精度。Maple缺省准确度可以由digits(n)来改变,其中n是所期望的准确度数值。另外有一个函数vpa,可以用任何精度实行单个计算。它以缺省的精度或任何指定的精度对单个符号表达式进行计算,并以同样的精度来显示结果。,例1424,链接,Example5。,将函数vpa作用于符号矩阵,对它的每一个元素进行计算。,例1425,链接,见Example5。,12,14.6 方程求解,用MATLAB所具有的符号工具可以求解符号方程。,求解单个代数方程,如果表达式不是一个方程式(不合等号),则在求解之前solve将表达式置成等于0。,例1426,链接,见Example6。,注意:在求解周期函数方程时,有无穷多的解。在这种情况下,solve对解的搜索范围限制在接近于零的有限范围,并返回非唯一的解的子集。,代数方程组求解,例1427,链接,见Example6。,13,单个微分方程,dsolve:计算常微分方程的符号解。用字母D来表示求微分。,D2,D3等等表示重复求微分,并以此来设定方程。任何D后所跟的字母为因变量。,方程d2y/dx20用符号表达式D2y0来表示。,例如,一阶方程dy/dx1+y2的通解为,,例1428,链接,见Example6。,二阶微分方程的例子,该方程有两个初始条件:,微分方程含有一阶以上的项:,例1429,链接,见Example6。,14,函数dsolve也可同时处理若干个微分方程式,下面有两个线性一阶方程,,例1430,链接,见Example6。,14.7 线性代数和矩阵,符号矩阵,例1431,链接,见Example7。,代数运算,用函数symadd,symsub,symmul和symdiv,对符号矩阵可以执行许多通用的代数运算用sympow可计算乘幂,用transpose计算符号矩阵的转置。,7.0版本已和数值矩阵代数运算统一。,微分方程组,15,例1432,链接,见Example7。,线性代数运算,用函数inv和determ,可计算符号矩阵的逆阵以及行列式。,例1433,链接,见Example7_01。,linsolve(A,B)对X方阵求解矩阵方程A*XB,例1434,链接,见Example7_02。,其他特性,symop将其参量串接起来,井计算所得到的表达式。,见Example 1_07和Example8。,链接,16,poly:求矩阵的特征多项式。,例1435,链接,见Example8。,Eig:求特征值和特征向量。,例1436,链接,见Example8。,Jordan: 矩阵的约当标准型。,例1437,链接,见Example8。,Singvals: 求解矩阵奇异值。,例1438,链接,见Example8。,17,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!