matlab符号运算(共57张)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)limit(F):计算符号函数F的极限值,变量为
findsym确定的默认变量;在未指定目标值时,默认变量趋 近于0; (4)limit(F,x,a,’left’)或limit(F,x,a,’right’):分别计算 函数F的左极限和右极限。
17
第17页,共57页。
>> syms x t;
>> limit(sin(x)/x)
A= [ a, 2*b] [3*a, 0]
3、用函数syms创建矩阵
格式: syms arg1 arg2… 参数
A=[ ]
>> syms a b
A=
>>A=[a,2*b;3*a,0]
[ a, 2*b] [3*a, 0]
15
第15页,共57页。
4、将数值矩阵(jǔ zhèn)转化成符号矩阵
(jǔ zhèn)
ans =
11/15
3
第3页,共57页。
>> 3*sin(3)+pi/2
ans =
1.9942
>> sym('3*sin(3)+pi/2')
ans = 3*sin(3)+pi/2
>> sym(3*sin(3)+pi/2)
ans = 8980881799167258*2^(-52)
>> sym(3*sin(3)+pi/2,'d')
>> real(z) ans = x
>> syms x unreal >> real(z)
ans =
1/2*x+1/2*conj(x)
>> syms a b >> real(a+b*j) ans = 1/2*a+1/2*i*b+1/2*conj(a+i*b)
6
第6页,共57页。
4.1.3 定义(dìngyì)符号表达式 符号表达式由符号变量、函数、算数运算符等组成。符
1.4142 >> a=sqrt(sym(2))
a=
2^(1/2) >> double(a)
>> asin(1)
ans = 1.5708
>> sym(asin(1))
ans =
pi/2
ans =
1.4142
>> 2/5+1/3
ans =
0.7333
>> sym(2)/sym(5)+sym(1)/sym(3)
23
第23页,共57页。
>> syms x x1 alpha u t;
>> int(1/(1+x^2))
ans =
atan(x)
>> int(sin(alpha*u),alpha) ans =
-1/u*cos(alpha*u)
>> int(x1*log(1+x1),0,1)
ans =
1/4 >> int(4*x*t,x,2,sin(t)) ans = 2*t*(sin(t)^2-4)
5
第5页,共57页。
2. syms函数
syms函数的功能与sym函数的功能相似。syms函数可以
在一个(yī ɡè)语句中同时定义多个符号变量,格式为:
syms(‘arg1’, ‘arg2’…, ‘参数’) syms arg1 arg2…参数
>> syms x y real >> z=x+i*y;
>> A=[cos(x*t) sin(x*t) -sin(x*t) cos(x*t)]
A=
[ cos(x*t), sin(x*t)]
[ -sin(x*t), cos(x*t)] >> int(A,t)
ans =
[ 1/x*sin(x*t), -cos(x*t)/x] [ cos(x*t)/x, 1/x*sin(x*t)]
diff(f,v,n) (1)diff(f,v,n):表示以v为变量,对符号表达式f求n阶微分; (2)diff(f,v)或diff(f,sym(’v’)):表示以v为自变量,对符号 表达式f求一阶微分。 (3)diff(f,n):表示根据findsym指示(zhǐshì)的默认变量对符号 表达式f求n阶微分; (4)diff(f):表示没有指定微分变量和微分阶数,则按 findsym指示的默认变量对符号表达式f求一阶微分。
>> int(‘2’)
ans =
2*x
24
第24页,共57页。
4.2.4 符号级数 级数求和运算是常见的一种运算。例如:
的字母;若与x的距离相同,则x后面的优先; (4)所有小写字母均优先于大写字母为独立变量。
10
第10页,共57页。
数学表达式 x^n
cos(a*t+b) exp(u*y*t) s*z+5*u*v t*theta^3
2*i+3*j
系统默认自变量 x
t y
z t
j
11
第11页,共57页。
默认自变量 = findsym(f,1)
在数学表达式中,f=ax2+bx+c,一般习惯于使用(shǐyòng) 字母表中排在前面的字母作为变量的系数,而用排在后 面的字母表示变量。
可以用findsym函数了解函数引用过程中使用的变量 个数以及变量名。格式为:
findsym(f,n)
说明:
(1)f为用户定义的符号表达式;
(2)n为正整数,表示查询变量的个数;
19
第19页,共57页。
d (t ) 6 6
例2:使用符号(fúhào)运算计算
dt 6
>>f=sym(‘t^6’)
>> diff(f,6)
ans =
720
20
第20页,共57页。
>> syms x y
>> diff(x^3+3*x^2+2*x+5)
ans = 3*x^2+6*x+2 >> diff(sin(x^3),2) ans = -9*sin(x^3)*x^4+6*cos(x^3)*x >> diff(x*y+y^2+sin(x)+cos(y),y)
ans = 1.9941563509744981708138311660150
4
第4页,共57页。
4.1.2 定义符号变量
1. sym函数
sym(‘arg’,参数)
说明(shuōmíng):参数可以取以下选项 ‘positive’:限定arg为“正、实”符号变量 ‘real’:限定arg为“实”符号变量 ‘unreal’:arg为“非实”符号变量
f=
a*x^3+b*x^2+c=0
%创建符号表达式
3. 用syms函数创建(chuàngjiàn)符号表达式
syms函数只能生成符号函数,不能生成符号方程。
>> syms x y u;
>> f=exp(x%预定义符号变量
%创建符号函数
8
第8页,共57页。
4. 默认符号变量
class 'sym'.
>> findsym(f)
>> g=sym('a*x^2+b*x+pi')
??? Function 'findsym' is not >> findsym(g)
defined for values of class 'char'. ans = a, b, x
13
第13页,共57页。
例1:查询符号函数(hánshù)f=exp(u*y*t)和g=x^n的默认变量。
>> syms n t u x y; >> f=exp(u*y*t); >> findsym(f,1)
>> g=x^n; >> findsym(g,1)
ans =
ans =
x
y
12
第12页,共57页。
>> g=sym('a*x^2+b*x+1') g=
>> symvar(f)
ans =
a*x^2+b*x+1
>> findsym(g)
ans = a, b, x
‘a’ ‘b’
‘x’
>> symvar(g)
>> f='a*x^2+b*x+1'
??? Function 'ge' is not
f=
defined for values of
a*x^2+b*x+1
4.1.4 符号矩阵的创建
1、用字符串直接创建(chuàngjiàn)矩阵 >>A =['[ a,2*b]'; '[3*a, 0]']
A=
[ a, 2*b]
[3*a, 0]
14
第14页,共57页。
2、用函数(hánshù)sym创建矩阵 A=sym('[
]')
>> A = sym('[a , 2*b ; 3*a , 0]')
(1)int(f,v,a,b):表示以v为变量,对符号表达式f求a到b的
定积分;
(2)int(f,v)或int(f,’v’) :表示以v为自变量,对符号表达式 f求不定积分; (3)int(f,a,b):表示根据findsym指示的默认(mòrèn)变量对符 号表达式f求a到b的定积分; (4)int(f):按findsym指示的默认变量对符号表达式f求不 定积分。如果f是常数,积分将针对x。
第4章 MATLAB的符号计算
➢ 符号计算基础 ➢ 符号微积分
➢ 符号积分变换 ➢ 符号表达式的操作(cāozuò) ➢ 符号方程的求解
1
第1页,共57页。
4.1 符号计算基础
4.1.1 定义符号常量 符号常量是不含变量的符号表达式,通常用sym函数
(hánshù)创建符号常量。
f=sym(’常量’) sym命令也可以把数值转换为某种格式的符号常量。
>> syms x a; >> v=[(1+a/x)^x exp(-x)
sin(a+x) cos(a+x)];
>> limit(v,x,0,'left')
ans =
[ 1, 1]
[ sin(a), cos(a)]
18
第18页,共57页。
4.2.2 符号微分
diff函数用于对符号表达式求微分,其格式一般为:
ans =
x+2*y-sin(y)
>> diff(x*y+y^2+sin(x)+cos(y),y,3)
ans =
sin(y)
>> diff(x*y+y^2+sin(x)+cos(y),x)
ans =
y+cos(x)
21
第21页,共57页。
>> f='x*y^2+a*x^2'
f=
x*y^2+a*x^2
>> diff(f) ans = y^2+2*a*x
>> diff(f,y)
??? Undefined function or variable 'y'. >> diff(f,sym('y')) ans = 2*x*y >> diff(f,'y') ans = 2*x*y
22
第22页,共57页。
4.2.3 符号积分 int函数用于对符号表达式求积分,其格式一般为: int(f,v,a,b)
>> B=[2/3, sqrt(2); 5.2, log(3)]
>> C=sym(B)
思考?
能否用sym(‘B’)?
16
第16页,共57页。
4.2 符号微积分
4.2.1 符号极限(jíxiàn) limit (1)limit(F,x,a):计算符号表达式当x→a时,F的极限值; (2)limit(F,a):计算符号函数F的极限值,因未指定F的 自变量,用该格式时,变量为findsym确定的默认自变量, 即默认自变量→a;
ans = 1
>> limit((x-2)/(x^2-4),2)
ans = 1/4
>> limit((1+2*t/x)^(3*x),x,inf)
ans =
exp(6*t)
>> limit(1/x,x,0,'right') ans =
Inf
>> limit(1/x,x,0,'left') ans =
-Inf
sym(常量,‘参数’)
参数:d:返回最接近的十进制浮点精确表示;
e:返回最接近的带误差估计的有理表示; f:返回十六进制浮点表示;
r:返回该符号值最接近的有理表示,缺省设置,可表 示为p/q、p*q、10^q、pi/q、2^q、sqrt(p)形式之一。
2
第2页,共57页。
>> sqrt(2) ans =
号表达式的定义有以下三种方法:
1. 单引号创建符号表达式
>> f=‘exp(x)’
%创建符号函数
f=
exp(x)
>> f=‘a*x^3+b*x^2+c=0’ %创建符号代数方程
f=
a*x^3+b*x^2+c=0
7
第7页,共57页。
2. 用sym函数创建符号表达式
>> f=sym(‘a*x^3+b*x^2+c=0’)
(3)n=i表示查询i个系统默认变量,n值省略表示查询所有
的系统默认变量。
9
第9页,共57页。
当字符表达式中含有多于一个的变量时,只有一个 变量是独立变量。若未告知MATLAB哪一变量是独立变量,
MATLAB将基于以下规则(guīzé)选择一个:
(1)缺省的变量是唯一的; (2)若有x,选择x作为独立变量; (3)若无x,选择除i和j的小写字母,字母顺序中最接近x
例:已知一复数表达式z=x+i*y,试求其实部。
>> x=sym('x','real'); >> y=sym('y','real');
>> z=x+i*y;
>> real(z)
ans =
x
>> x=sym('x','unreal');
>> real(z) ans =
相关文档
最新文档