




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab程序设计程序设计第第2章章 MATLAB的符号运算的符号运算 matlab 不仅具有数值运算功不仅具有数值运算功能,还开发了在能,还开发了在matlab环境下实现环境下实现符号计算的工具包符号计算的工具包SymbolicMath Toolbox介绍教材第介绍教材第2章内容章内容Matlab程序设计程序设计符号运算的功能符号运算的功能 符号表达式、符号矩阵的创建符号表达式、符号矩阵的创建 符号线性代数符号线性代数 因式分解、展开和简化因式分解、展开和简化 符号矩阵分析和代数方程解符号矩阵分析和代数方程解 符号微积分符号微积分 微分方程符号解法微分方程符号解法Matlab程序设计程序设
2、计1 符号运算的基本操作符号运算的基本操作1. 什么是符号运算什么是符号运算与数值运算的区别与数值运算的区别 数值运算中必须先对变量赋值数值运算中必须先对变量赋值,然,然后才能参与运算。后才能参与运算。 符号运算无须事先对独立变量赋值符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。运算结果以标准的符号形式表达。Matlab程序设计程序设计 特点:特点: 运算对象可以是没赋值的符号变量运算对象可以是没赋值的符号变量 可以获得任意精度的解可以获得任意精度的解 Symbolic Math Toolbox符号运算符号运算工具包通过调用工具包通过调用Maple软件实现符号计软件实现符号计算
3、。算。 Maple软件软件主要功能是符号运算,主要功能是符号运算, 它占据符号软件的主导地位。它占据符号软件的主导地位。 Matlab程序设计程序设计2 符号对象与符号表达式符号对象与符号表达式例例:(1)f1=sym(1/3,pi/7;sqrt(5),pi+sqrt(5) %符号矩阵符号矩阵(2) f2=sym(Dy+y2=1) %符号微分方程符号微分方程(3) syms a b c x; f3= a x2+b x+c %二次三项式二次三项式2.1 生成符号对象的基本规则生成符号对象的基本规则(1) 用用sym函数或函数或syms函数定义基本符号对象函数定义基本符号对象(2) 含符号对象的表
4、达式或方程一定是符号对象含符号对象的表达式或方程一定是符号对象Matlab程序设计程序设计例例2.1-5: 区分数值矩阵、字符矩阵、符号矩阵区分数值矩阵、字符矩阵、符号矩阵 a=1;b=2;c=3;d=4; Mn=a,b;c,d %2*2double型矩阵型矩阵 Mc=a,b;c,d %1*9char矩阵矩阵 Ms=sym(Mc) %2*2sym矩阵矩阵Matlab程序设计程序设计2.2 符号数字符号数字 sc = sym(Num) %符号常数符号常数sc的值精确等于的值精确等于Num例:例:a = pi + sqrt(5) %a为数值类常量为数值类常量 sa = sym(pi + sqrt(
5、5) %sa为符号数字常量为符号数字常量 % sa = pi + sqrt(5), sym型型; eval(sa) 为为5.3777, double型型2.3 符号参数符号参数 如表达式如表达式sin(bx)中的中的b称为参数称为参数. syms Para1 Para2 ParaN %定义符号参数定义符号参数 syms Para1 Para2 ParaN Flag %定义定义Flag指定属性的符号参数指定属性的符号参数 Flag: positive(正实数正实数), real(实数实数), unreal(复数复数)例:例: syms k positive %等价于下式等价于下式 k = sym
6、(k,positive);Matlab程序设计程序设计 2.4 符号变量符号变量 符号变量与符号参数的创建方法相同,但表达式或符号变量与符号参数的创建方法相同,但表达式或方程中作用不同方程中作用不同.确定自由符号变量:确定自由符号变量: findsym(EXPR , N) %确认确认EXPR中距离中距离x最近的最近的N个自由符号变个自由符号变量量, 略去略去N表示全部表示全部例例2.1-1 用符号计算研究方程用符号计算研究方程uz2+vz+w=0的解的解 syms u v w z Eq=u*z2+v*z+w; %符号方程符号方程 r_1=solve(Eq) %一个方程只能解一个未知数一个方程只
7、能解一个未知数w(离离x最近最近) findsym(Eq,1) %只找一个自由符号变量只找一个自由符号变量,则找到则找到w r_2=solve(Eq,z)Matlab程序设计程序设计 2.5 符号运算基本运算符符号运算基本运算符 矩阵运算:矩阵运算: + , - , * , / , , , 数组运算:数组运算: + , - , .* , ./ , . , ., . 关系运算关系运算: = = , = 2.6 符号运算中函数指令符号运算中函数指令 (表表2.1-1) 三角、双曲函数:三角、双曲函数:sin、cosh等等 指数、对数函数:指数、对数函数:exp、expm、log(即即ln) 复数函
8、数:复数函数:conj(共轭共轭)、real、abs (模模) 矩阵代数:矩阵代数:diag、inv、det、eig 方程求解:方程求解:solve 微积分函数:微积分函数:diff、int 绘图函数:绘图函数:ezplotMatlab程序设计程序设计3.1 数值数字与符号数字间转换数值数字与符号数字间转换sym(Num,a) 将数值类数字转换为将数值类数字转换为a指定的符号数字输出,指定的符号数字输出, a取值取值: r: 广义有理表示广义有理表示(默认项默认项), d: 十进制浮点近似十进制浮点近似 e: 带带eps误差的理性近似误差的理性近似, f: 十六进制浮点近似十六进制浮点近似do
9、uble(x) 将符号常量转为将符号常量转为16位双精度数值量位双精度数值量3.2 符号数字的任意精度计算符号数字的任意精度计算digits(n) 设置今后数值计算精度,缺省设置今后数值计算精度,缺省32位位vpa(x,n) n位有效数字的数值型符号结果位有效数字的数值型符号结果,略去略去n由由digits决定运算精度决定运算精度3 符号数字及表达式操作符号数字及表达式操作Matlab程序设计程序设计例例2.2-1: digits sym(1/2)+(1/3) ans = 5/6 %用有理数表示的精确符号解用有理数表示的精确符号解 p0 = sym(1+sqrt(5)/2) p0 = (1+s
10、qrt(5)/2 pr = sym(1+sqrt(5)/2,r) pr =7286977268806824*2(-52) %广义有理表示广义有理表示 e32r = vpa(abs(p0-pr),16) e32r = 0Matlab程序设计程序设计3.3 符号表达式的操作符号表达式的操作例:化简例:化简 S=(x2+y2)2+(x2-y2)2 syms x y; S=(x2+y2)2+(x2-y2)2 simple(S) %系统自动试探各种函数化简系统自动试探各种函数化简 simple(ans) %使用多次找到最少字母的简化式使用多次找到最少字母的简化式例例2.2-32.2-3:对符号矩阵进行特
11、征向量分解:对符号矩阵进行特征向量分解. . syms a b c d W V,D=eig(a b;c d) RVD,W=subexpr(V;D,W) %用用W置换子表达式置换子表达式,重写重写V;D为为RVDMatlab程序设计程序设计例例2.2-4:通用置换命令:通用置换命令subs的置换规则的置换规则 syms a x; f = a*sin(x)+5; f1=subs(f,sin(x),sym(y) % a*y+5 f2=subs(f,2) % a*sin(2)+5 f3=subs(f,a,x,2,sym(pi/3) % 2*sin(pi/3)+5 f4=subs(f,a,x,2,pi/
12、3) %6.7321 f5=subs(f,a,x,0:6,0:pi/6:pi) %获获7个个double型数据型数据Matlab程序设计程序设计4 符号微积分符号微积分 limit(f,v,a, p) 求求va的极限的极限,可选项可选项p=right或或left diff(f,v,n) 对变量对变量v求求n阶微分阶微分(数值计算此为差分数值计算此为差分) symsum(f,v,a,b) 对对v取取a,b中所有整数时的和中所有整数时的和syms a t x; f=a, t3; t*cos(x), log(x); dfdt2=diff(f,t,2), dfdxdt=diff(diff(f,x),t
13、)dxdtfd,dtfdxxttaf2223,lncos:23.2求例,:83 . 2103ttkt求例syms k t; f=t, k3, s=simple(symsum(f)%自变量自变量v取值区间为取值区间为0,v-1时时,可缺省可缺省a,bnndvvfd)(bavvf)(Matlab程序设计程序设计例例2.3-5:设设cos(x+siny)=siny, 求求dy/dx(隐函数求导隐函数求导). syms x g=sym(cos(x+sin(y(x)=sin(y(x) dgdx=diff(g,x) disp(maple(isolate,dgdx,sym(diff(y(x),x) %将将d
14、y/dx表达式用表达式用x,y表达表达例例2.3-6:求求f(x)=xex在在x=0处的忽略处的忽略9阶以上小量的阶以上小量的泰勒级数展开泰勒级数展开 sym x r=taylor(x*exp(x),9,x,0)Matlab程序设计程序设计int(f) 对对f表达式的缺省变量求积分表达式的缺省变量求积分int(f,v) 对对f表达式的表达式的v变量求积分变量求积分int(f,v,a,b) 对对f表达式的表达式的v变量在变量在(a,b)区间求定积分区间求定积分例例: :计算二重不定积分计算二重不定积分syms x yF=int(int(x*exp(-x*y),x),y) F = 1/y*exp(
15、-x*y)dxdyxexyMatlab程序设计程序设计022)()(,sin,cosdyxLryrx例例2.3-12 2.3-12 求阿基米德螺线求阿基米德螺线r=ar=a* *(a0)(a0)在在=0=0到到间曲线长度函数并绘图间曲线长度函数并绘图. . 有有: :解解:syms a r theta phi positivex=r*cos(theta); x=subs(x,r,a*theta);y=r*sin(theta); y=subs(y,r,a*theta);dLdth=sqrt(diff(x,theta)2+diff(y,theta)2);L=simple(int(dLdth,the
16、ta,0,phi)L1=subs(L,a,sym(1); h1=ezplot(L1*cos(phi),L1*sin(phi),0,2*pi);set(h1,Color,r,LineWidth,5) %用句柄改变图形对象属性用句柄改变图形对象属性grid on, legend(螺线长度螺线长度-幅角曲线幅角曲线)Matlab程序设计程序设计5 微分方程符号法求解微分方程符号法求解命令格式命令格式:S = dsolve( f , g , v ) f 为为微分方程,可多至微分方程,可多至12个微分方程的求解;个微分方程的求解;g为初始条件;为初始条件;v为自变量为自变量 默认自变量为默认自变量为 t
17、,可任意指定自变量可任意指定自变量x, u等等 解中任意常数解中任意常数C的数目等于缺少的初始条件数的数目等于缺少的初始条件数 解存放在构架数组解存放在构架数组S中中 微分方程的各阶导数项以大写字母微分方程的各阶导数项以大写字母D表示表示Matlab程序设计程序设计dtdydxdy22dtydnndtyd22dxydnndxyd或或或或或或y的一阶导数的一阶导数 Dyy的二阶导数的二阶导数 D2yy的的 n 阶导数阶导数 DnyMatlab程序设计程序设计例例2.4-2.图示微分方程图示微分方程y=xy-(y)2通解和奇解的关系通解和奇解的关系y=dsolve(Dy)2-x*Dy+y=0, x
18、) y = 1/4*x2 %y(1)为奇解为奇解 -C12+x*C1 %y(2)为通解为通解,clf, hold on, ezplot(y(1),-6,6,-4,8,1)cc=get(gca, Children);%取当前图柄取当前图柄set(cc,Color,r,LineWidth,5)for k=-2:0.5:2 ezplot(subs(y(2),C1,k),-6,6,-4,8,1); endhold offtitle(fontname隶书隶书fontsize16通解和奇解通解和奇解)-6-4-20246-4-202468x通解和奇解Matlab程序设计程序设计例例2.4-3.求解两点边值
19、问题求解两点边值问题: xy-3y=x2,y(1)=0,y(5)=0y=dsolve(x*D2y-3*Dy=x2,y(1)=0,y(5)=0,x) ezplot(y,-1,6)hold onplot(1,5,0,0,.r,MarkerSize,20)text(1,1,y(1)=0)text(4,1,y(5)=0)title(x*D2y-3*Dy=x2, y(1)=0,y(5)=0)hold offMatlab程序设计程序设计6 符号矩阵分析和代数方程求解符号矩阵分析和代数方程求解常用矩阵分析指令常用矩阵分析指令:det(A), diag(A), V,D=eig(A),expm(A), inv(
20、A), poly(A), rank(A)一般代数方程求解格式一般代数方程求解格式:S=solve(eq1, eq2, v1, v2) %对指定变量对指定变量v求字符串方程组的解求字符串方程组的解S=solve(exp1,exp2, v1,v2 ) %对指定变量对指定变量v求符号表达式的解求符号表达式的解符号运算能求解一般的符号运算能求解一般的代数方程代数方程(包括线性方程、非包括线性方程、非线性方程和超越方程线性方程和超越方程)。当方程组不存在符号解时,。当方程组不存在符号解时,又无其他自由参数时,给出数值解又无其他自由参数时,给出数值解(近似解近似解)。Matlab程序设计程序设计例例2.6
21、-2 Givens旋转旋转 对矩阵对矩阵 的旋转作用的旋转作用.ttttGcossinsincos2/32/12/12/3A解解: syms t; A=sym(sqrt(3)/2,1/2;1/2,sqrt(3)/2);G=cos(t),-sin(t);sin(t),cos(t); GA=G*AAn=subs(GA,t,110/180*pi); %旋转后数值阵旋转后数值阵Op=0;0; Ad=double(A); %旋转前数值阵旋转前数值阵v1=Op,Ad(:,1), v2=Op,Ad(:,2) %旋转前各点与坐标原点相连直线阵旋转前各点与坐标原点相连直线阵u1=Op,An(:,1), u2=O
22、p,An(:,2) %旋转后旋转后plot(v1(:,1),v1(:,2),-k,v2(:,1),v2(:,2),b), hold onhu=plot(u1(:,1),u1(:,2),-k,u2(:,1),u2(:,2),b)set(hu,LineWidth,4)legend(v1,v2,u1,u2,Location,South)axis(-1,1,-1,1), axis square, hold off, grid onMatlab程序设计程序设计例例2.6-5 求求欠定方程的解欠定方程的解pndqpqdnqpnd4,10,22解解: syms d n p q eq1=d+n/2+p/2-q
23、; eq2=n+d+q-p-10; eq3=q+d-n/4-p; S=solve(eq1,eq2,eq3,d,n,p,q) disp( S.d, S.n, S.p, S.q) disp(S.d,S.n,S.p,S.q)说明说明:解中自由变量选择规则解中自由变量选择规则:方程中所有变量按排方程中所有变量按排序序最前的变量作为自由变量最前的变量作为自由变量.S = d: 1x1 sym n: 1x1 sym p: 1x1 sym q: 1x1 sym S.d S.n S.p S.q d, 8, 4*d+4, 3*d+6Matlab程序设计程序设计7 maple函数函数符号运算的扩展符号运算的扩展m
24、aple是专门进行数学运算的软件工具,是专门进行数学运算的软件工具, 具有超强的符号运算能力,具有超强的符号运算能力,提供了提供了 几乎包括所有数学领域的专用函数几乎包括所有数学领域的专用函数matlab依赖于依赖于maple的内核与函数库,扩的内核与函数库,扩 展了自己的符号运算功能。展了自己的符号运算功能。 matlab设计了对设计了对maple库函数的调用功能库函数的调用功能,使得已有的使得已有的maple数学功能可以扩充到数学功能可以扩充到matlab中中,作为自身符号运算能力的扩展。作为自身符号运算能力的扩展。Matlab程序设计程序设计8 符号结果的可视化符号结果的可视化冠以冠以ezez字头的指令为函数绘图字头的指令为函数绘图(ez(ez意为简易意为简易Easy to)Easy to)常用简捷作图指令常用简捷作图指令见表见表2.8-12.8-1ezplot 二维曲线二维曲线ezplot3 三维曲线三维曲线ezpolar 极坐标曲线极坐标曲线ezmesh 网线图网线图ezsurf 曲面图曲面图Matlab程序设计程序设计ezplotezplot的调用格式:的调用格式:ezplot(F) ezplot(F) 在在x=-2 2x=-2 2* *pipi内绘制内绘制f(x)f(x)的函数图的函数图ezplot(Fx,ezplot(Fx,xmin,xmax,ymin,y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园保育工作相关表格与工作制度:幼儿食谱编制与评价
- 物理处理法改良竹材声学振动性能的研究
- 换页注意力模型优化-洞察阐释
- 学校美育对拔尖创新人才培养的作用
- 从腾讯到阿里:全域私域的红利在哪里
- 绿色金融发展中的挑战与机遇
- 2025至2030年中国特种油剂行业投资前景及策略咨询报告
- 2025至2030年中国点歌机行业投资前景及策略咨询报告
- 2025至2030年中国渐开线钢片行业投资前景及策略咨询报告
- 农村社会服务设施布局与空间结构提升
- 初中地理会考知识点汇总
- 安全生产、环境保护监督管理制度(最终版)
- 《财政学》教学大纲中文版
- 小学数学命题思考
- 砌筑挡土墙搭设脚手架专项方案设计
- 长篇情感电台读文(10篇)精选
- DB35_T 169-2022 森林立地分类与立地质量等级
- 动火作业危害识别及控制措施清单
- 26个科室建设指南
- 安全带检测报告(共8页)
- 河道治理监理月报
评论
0/150
提交评论