第三章matlab符号解第一篇_第1页
第三章matlab符号解第一篇_第2页
第三章matlab符号解第一篇_第3页
第三章matlab符号解第一篇_第4页
第三章matlab符号解第一篇_第5页
已阅读5页,还剩12页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

符号变量与符号表达式的生成符号形式与数值形式的相互转换符号表达式的初等运算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

br

=a+

bsqrt(x)形式一:x=sym(‘x’)%符号变量的值为单引号内的字符或字符串形式二:x=sym(‘x’,‘Variable

Format’)%同上,但设定变量x的类型[例1]

试将y=a+b

x中的系数a

,b

,自变量x

和数学表达式a+b

x

分别生成符号变量,要求自变量x为实型变量。解输入:>>

syms

a

b

xy=2*a-

5*exp(sqrt(x

-b))运行后屏幕显示:y

=2*a-5*exp((x-b)^(1/2))syms可定义多个符号,用syms生成符号变量的常用形式请看下例。[例

2]

试将

y

=

2a

-

5

e

x-b

中的系数a,

b

和自变量

x

生成符号变量。用syms

生成符号变量当符号变量生成以后,就可以进一步生成含有这些变量符号的表达式,常用的形式有如下两种:解方法一输入:>>f=sym(a*(2*x-t)^3+b*sin(4*y)),或f='a*(2*x-t)^3+b*sin(4*y)'方法一

f=sym(‘数学表达式’)或f=

‘数学表达式’方法二

f=syms

a

b

c

xf=含有a

,b,c,x的数学表达式[例

3]

试将

z

=

a(2

x

-

t

)3

+

b

sin(

4

y)

生成为符号表达式。2.符号表达式的生成方法二

输入:>>

syms

a

b

c

k

t

yf=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*x^9+17*x^3-3*x=-1'),x=solve(f)

%solve是MATLAB软件解方程的函数方法一方法二>>

f='8*x^9+17*x^3-3*x=-1',x=solve(f)方法三>>

x=solve('8*x^9+17*x^3-3*x=-1')[例4]solve是MATLAB软件解方程的函数,调用格式为:x=solve(f)。试用函数solve解方程8x9

+17x3

-3x

=-1。则运行后输出相同的结果:x

=[[.

72171548984002+.

51731421962321*i].

04563287259316+.

15618068133297*i]……………[ .

72171548984002-.

51731421962321*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

lA=[

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生成为符号表达式,然后再[例6]

首先将转换为数值形式。2a

=

1

+

5解首先输入:>>a='(1+sqrt(5))/2'再输入:>>

eval(a)

或输入:

>>

numeric(a)的相同数值形式为运行后屏幕显示ans

=1.61802a

=

1

+

52a

=

1

+

5将多项式的符号形式转换为对应的系数的数值形式的向量解输入:>>

syms

x

y,y=5*x^2-6;

yc=sym2poly(y)运行后屏幕显示的系数的数值形式的向量为yc

=5

0 -6将多项式的符号形式转换为对应的系数的数值形式的向量主要用MATLAB函数sym2poly来实现。[例7]

将转换为对应的系数的数值形式的向量。y

=

5

x2

-

6将数的数值形式转换为符号形式将数值形式转换为符号形式常用的方法有两类,一类是

将数的数值形式转换为符号形式;另一类是将多项式的系数的数值形式的向量转换为对应的符号形式。2.符号形式与数值形式相互转换将数的数值形式转换为符号形式主要用MATLAB函数sym来实现。[例8]

将π的近似值pi=3.141593转化为符号形式。解

输入:>>

pi=3.141593;

pj=sym(pj)运行后屏幕显示:pi

=7074238532074879*2^(-51)将多项式的符号形式转换为对应的系数的数值形式的向量主要用MATLAB函数poly2sym来实现。将多项式的系数的数值形式的向量转换为对应的符号形式[例9]0-6]转换为对应的符号形式。解输入:>>

yc

=[

5

0

-6];

y=poly2sym

(yc)运行后屏幕显示为y

=5*x^2-6将y

=5

x2

-6

的系数的向量yc=[5符号表达式的初等运算是指符号表达式的变换和化简、

符号的代换、复合函数的运算和反函数的运算,包括加、减、乘、除、乘方和开方运算。有关加、减、乘、除运算、乘方和开方运算在第一章实验的内容中我们已经作了介绍。下面主要介绍符号表达式的变换和化简、符号的代换、复合函数和反函数的运算。在MATLAB中,这些运算的常用函数如下:expand(表达式)将表达式中的括号进行展开,即将乘积展开为和式factor(表达式)将表达式进行分解,即把多项式转换为乘积形式horner(表达式)将一般的表达式变为嵌套的形式collect(表达式)合并同类项3.1.3

符号表达式的初等运算1.变换和化简simplify(表达式)利用各种恒等式关系、函数关系将表达式进行化简simple(表达式)f=simple(S)对表达式S进行化简,输出长度最短的表达式f;simple(S)对表达式S进行化简,输出用各种函数化简的结果及长度最短的表达式;(3)[f,how]=simple(S)对表达式S进行化简,输出长度最短的表达式f及f是哪一个函数作用的结果how。findsym(表达式)确认符号表达式中的符号代换subs(f,old,new)用符号new代替表达式f中的符号oldsubexpr(f)将表达式f中的公共部分用sigma表示复合函数运算pose(f,g)输出y=f(u)和u=g(x)的复合函数y=f(g(x))pose(f,g,t)输出y=f(u)和u=g(t)的复合函数y=f(g(t))2.代换和复合函数运算3

y

y

=

5

x2

-

6

,试求关于的复合函数。[例10]

设函数

z

=解输入:>>

syms

x

y,z=sqrt(3*y);y=5*x^

pose(z,y)运行后屏幕显示为z

=

3^(1/2)*(5*x^2-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)输入函数y=f(t),其中y=f(t)和y=g(t)互为反函数,输出的y

温馨提示

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

评论

0/150

提交评论