MATLAB的符号解.ppt_第1页
MATLAB的符号解.ppt_第2页
MATLAB的符号解.ppt_第3页
MATLAB的符号解.ppt_第4页
MATLAB的符号解.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.1.1 符号变量与符号 表达式的生成 3.1.2 符号形式与数值 形式的相互转换 3.1.3 符号表达式的初 等运算 3.1 符号运算与符号表达式 在MATLAB工具箱用来生成符号对象的函数有如下两种: sym 来定义一个符号或符号表达式, syms 可定义多个符号。 符号运算是指运算的主要对象是符号、文字,或者是 变量所进行的运算,自然是精确公式解中的运算。符号运 算和符号表达式总称为符号对象。本节介绍MATLAB符号运 算及相关的问题。 要使符号变量有意义,必须首先生成符号变量,生成符 号变量可用sym或syms。 1. 符号变量的生成 3.1.1 符号变量和符号表达式的生成 用sym 生成符号变量 解 输入: x=sym(x, real) %设定了变量x为实型变量 a=sym(a) b=sym(b) r=sym(a+ bsqrt(x) 运行后屏幕显示: x= a= b= x a b r = a+ bsqrt(x) 形式一:x=sym(x) %符号变量的值为单引号内的字符或字符串 形式二:x=sym(x,Variable Format) %同上,但设定 变量x的类型 例1 试将 中的系数 ,自变量 和数学表达 式 分别生成符号变量,要求自变量 为实型变量。 解 输入: syms a b x y=2*a- 5*exp(sqrt(x -b) 运行后屏幕显示: y = 2*a-5*exp(x-b)(1/2) syms 可定义多个符号,用syms生成符号变量的常 用形式请看下例。 用syms 生成符号变量 当符号变量生成以后,就可以进一步生成含有这些变量 符号的表达式,常用的形式有如下两种: 方法一 f=sym(数学表达式) 或 f= 数学表达式 方法二 f=syms a b c x f=含有a ,b,c,x的数学表达式 解 方法一 输入: f=sym(a*(2*x-t)3+b*sin(4*y), 或 f=a*(2*x-t)3+b*sin(4*y) 2. 符号表达式的生成 方法二 输入: syms a b c k t y f=a*(2*x-t)3+b*sin(4*y) 运行后屏幕显示: f = a*(2*x-t)3+b*sin(4*y) f = a*(2*x-t)3+b*sin(4*y) 运行后屏幕显示: f = a*(2*x-t)3+b*sin(4*y) 注意:如果要生成方程的符号表达式,则不能用方法二, 只能用方法一 解 在MATLAB命令窗口输入命令: f=sym(8*x9+17*x3-3*x=-1), x=solve(f) % solve是MATLAB软件解方程的函数 方法一 f=8*x9+17*x3-3*x=-1,x=solve(f)方法二 x=solve(8*x9+17*x3-3*x=-1) 方法三 则运行后输出相同的结果: x = .96274843969420649872171548984002+.57475793354361098651731421962321*i .26762926822201693804563287259316+.19580612317589362415618068133297*i .96274843969420649872171548984002-.57475793354361098651731421962321*i 例5 生成一个符号矩阵。 则运行后输出结果: A = a, b, c d, e, f g, h, i j, k, l 解 在MATLAB命令窗口输入命令: syms a b c d e f g h i j k l A= a b c;d e f;g h i;j k l 将符号形式转换为转换为 数值值形式常用的方法有两类类,一类类是 将数的符号形式转换为转换为 数值值形式;另一类类是将多项项式的符号 形式转换为对应转换为对应 的系数的数值值形式的向量。 在用MATLAB 软软件处处理数学问题时问题时 ,经经常需要 符号形式与数值值形式的相互转换转换 。下面分别别介绍绍它 们们的转换转换 方法。 1. 将符号形式转换为数值形式 将数的符号形式转换为数值形式主要用MATLAB函 数eval和numeric来实现。 将数的符号形式转换为数值形式 3.1.2 符号形式与数值形式的相互转换 运行后屏幕显示 的符号表达式为 a = (1+sqrt(5)/2 解 首先输入: a=(1+sqrt(5)/2 例6 首先将 生成为符号表达式,然后再 转换为数值形式。 再输入: eval(a) 或输入: numeric(a) 运行后屏幕显示 的相同数值形式为 ans = 1.6180 将多项式的符号形式转换为对应的系数的数值形式 的向量 解 输入: syms x y,y=5*x2-6; yc=sym2poly(y) 运行后屏幕显示的系数的数值形式的向量为 yc = 5 0 -6 将多项式的符号形式转换为对应的系数的数值形式的向 量主要用MATLAB函数sym2poly来实现。 例7 将 转换为对应的系数的数值形式的向量 。 将数的数值形式转换为符号形式 将数值值形式转换为转换为 符号形式常用的方法有两类类,一类类是 将数的数值值形式转换为转换为 符号形式;另一类类是将多项项式的系数 的数值值形式的向量转换为对应转换为对应 的符号形式。 解 输入: pi=3.141593; pj=sym(pj) 2. 符号形式与数值值形式相互转换转换 将数的数值形式转换为符号形式主要用MATLAB函数sym来实现 。 例8 将的近似值pi=3.141593 转化为符号形式。 运行后屏幕显示: pi = 7074238532074879*2(-51) 将多项式的符号形式转换为对应的系数的数值形式的向 量主要用MATLAB函数poly2sym来实现。 解 输入: yc = 5 0 -6; y=poly2sym (yc) 运行后屏幕显示为 y = 5*x2-6 将多项式的系数的数值形式的向量转换为对应的符号形式 例9 将 的系数的向量yc = 5 0 -6 转 换为对应的符号形式。 符号表达式的初等运算是指符号表达式的变换变换 和化简简、 符号的代换换、复合函数的运算和反函数的运算,包括加、减、 乘、除、乘方和开方运算。有关加、减、乘、除运算、乘方和 开方运算在第一章实验实验 的内容中我们们已经经作了介绍绍。下面主 要介绍绍符号表达式的变换变换 和化简简、符号的代换换、复合函数和 反函数的运算。在MATLAB中,这这些运算的常用函数如下: expand(表达式) 将表达式中的括号进行展开,即将乘积展开为和式 factor(表达式) 将表达式进行分解,即把多项式转换为乘积形式 horner(表达式) 将一般的表达式变为嵌套的形式 collect(表达式) 合并同类项 3.1.3 符号表达式的初等运算 1. 变换和化简 simplify(表达式) 利用各种恒等式关系、函数关系将表达式进行化简 simple(表达式) (1)f=simple(S) 对表达式 S 进行化简, 输出长度最短的表达式 f; (2)simple(S) 对表达式 S 进行化简,输 出用各种函数化简的结果及长度最短的表达式; (3)f,how=simple(S) 对表达式 S 进 行化简,输出长度最短的表达式 f及f是哪一个函 数作用的结果how。 findsym(表达 式) 确认符号表达式中的符号 代 换 subs(f,old, new) 用符号new代替表达式f中的符号old subexpr(f)将表达式f中的公共部分用sigma表示 复合 函数 运算 y=compose(f, g) 输出y=f(u)和u=g(x)的复合函数y=f(g(x) y=compose(f, g,t) 输出y=f(u)和u=g(t)的复合函数y=f(g(t) 2. 代换和复合函数运算 例10 设函数 和 ,试求关于的复合函数。 解 输入: syms x y,z=sqrt(3*y); y=5*x2-6;z=compose(z,y) 运行后屏幕显示为 z = 3(1/2)*(5*x2-6)(1/2) 3. 反函数运算 反 函 数 g=finverse (f) 输入函数y=f(x),其中y=f(x)和y=g(x)互为反 函数,输出的y=g(x)是y=f(x)的反函数 g=finverse (f,t) 输入函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论