matlab教程--matlab快速入门-文字版, matlab电子书, 和matlab 有关的电子书:

4.1.1 符号变量和符号表达式的生成

4.1.1  符号变量和符号表达式的生成

 

符号运算工具箱处理的主要对象是符号和符号表达式,为此要使用一种新的数据类型——符号变量。在MATLAB工具箱用来生成符号对象的函数有sym和syms,其中用 sym 来定义一个符号或符号表达式, 而 syms 可定义多个符号。

 

(一) 符号变量的生成

要使符号变量有意义,必须首先生成符号变量,生成符号变量可用sym或syms。

1. 用sym生成符号变量

用sym生成符号变量的常用形式为

x=sym('x')  %符号变量的值为单引号内的字符或字符串

或   x=sym('x', 'Variable Format')  %同上,但设定了变量x的类型

 

[例1]  试将中的系数,自变量和数学表达式分别生成符号变量,要求自变量为实型变量。

解 输入:

>>x=sym('x', 'real')%设定了变量x为实型变量

a=sym('a')

b=sym('b')

r=sym('a+ bsqrt(x) ')

运行后屏幕显示结果(略)。

2. 用syms生成符号变量

syms 可定义多个符号,用syms生成符号变量的常用形式请看下例。

[例2]  试将e中的系数和自变量生成符号变量。

解 输入:

>> syms a b x

    y=2*a- 5*exp(sqrt(x -b))

运行后屏幕显示:

y =

2*a-5*exp((x-b)^(1/2))

 

(二) 符号表达式的生成

当符号变量生成以后,就可以进一步生成含有这些变量符号的表达式,常用的形式有两种。

方法一   f=sym(‘数学表达式’)

        或 f= ‘数学表达式’

方法二   syms a b c x

         f=含有a ,b,c,x的数学表达式

 

[例3]  试将生成为符号表达式。

解 方法一 输入:

>> f=sym(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)

方法二 输入:

>> syms a b t y x

f=a*(2*x-t)^3+b*sin(4*y)

运行后屏幕显示:

f =

a*(2*x-t)^3+b*sin(4*y)

如果要生成方程的符号表达式,则不能用方法二,只能用方法一。

 

[例4]  solve是MATLAB软件解方程的函数,调用格式为:x=solve(f)。试用函数solve解方程

解 在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')

则运行后输出相同的结果:

x =

[-.95778266908844934303923445046258-.59070709534579563538068568150441*i]

[-.95778266908844934303923445046258+.59070709534579563538068568150441*i]

[                                    -.53275697173102083274354955617700]

[-.62165529622636773563391338820961e-2-1.1576656136411973167991239807601*i]

[-.62165529622636773563391338820961e-2+1.1576656136411973167991239807601*i]

[ .26762926822201693804563287259316-.19580612317589362415618068133297*i]

[ .26762926822201693804563287259316+.19580612317589362415618068133297*i]

[ .96274843969420649872171548984002-.57475793354361098651731421962321*i]

[ .96274843969420649872171548984002+.57475793354361098651731421962321*i]

 

[例5]  生成一个符号矩阵。

解 在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]

则运行后输出结果:

A =

[ a, b, c]

[ d, e, f]

[ g, h, i]

[ j, k, l]

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/2/2040101.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1