- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
符号运算;符号对象和符号表达式;在MATLAB的算术表达式中,如果有符号对象出现,则执行符号运算,否则执行数值运算。;2、利用syms 语句;例4:分别利用符号运算和数值运算计算下面的和式
并比较其计算速度。;运行结果:
elapsed time is 17.471170 seconds.
s =
53362942472286888949719421721178854326566842563285212172777796126866468888289712493197534966831759235528585287378366554522517/712886527466544947644469117178172988627459375434452523739745298963823695623282379423177791247754558782992335275179673524814781746857872939726979500;s=0;
tic
for k=1:1000
s=s+1/k;
end
toc
s?;注:在符号运算中的数据不要用带小数点的实数和科学计数法表示的数。这些数在计算机上是以有限位小数存储的,在推理过程中不能精确表示。;符号变量和符号常数;例:符号方程组的求解;syms a b c
A=[a 2 1
2 b 3
1 3 c];
u=[1;2;1];
x=A\u;对非线性方程(组),可以采用solve函数求解,函数调用格式:
y=solve(Eqs, vars)
其中,Eqs是方程的集合,vars是所解变量的集合。; syms a b c x
f=a*x^2+b*x+c
f =
a*x^2 + b*x + c
y=solve(f)
y =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
y=solve(f,a)
y =
-(c + b*x)/x^2
;符号表达式;符号对象的限定
在我们求解数学问题时,常常需要限定变量的范围,如求解一个方程组时,要求在实数域上求解或者求整数解等。;符号对象的限定的撤销;例:求 的解;例:求方程 的根
;符号数字和表达式的操作;在科学计算中,由于符号计算的结果表达经常过于繁琐,经常需要作近似表达来简化公式。Matlab中可以把精确的符号运算结果转换为“任意精度的符号数”。转换命令为
digits(n)
xs=vpa(x,n);例:计算 ;例:计算?;例:计算?的位数;符号表达式:
符号表达式和数值表达式形式相同,只是表达式中含有符号变量或符号常数。; syms x
expand((x+1)^6)
ans =
x^6 + 6*x^5 + 15*x^4 + 20*x^3 + 15*x^2 + 6*x + 1; syms x
collect((exp(x) + x)*(x + 2))
ans =
x^2 + (exp(x) + 2)*x + 2*exp(x); y=expand((x-1)*(x+2)^4)
y =
x^5 + 7*x^4 + 16*x^3 + 8*x^2 - 16*x - 16
z=simplify(y)
z =
(x - 1)*(x + 2)^4;例:化简公式;矩阵和数组的其他数学符号运算;数组的符号运算;符号表达式的置换操作; A=sym([1,2;3,4])
A =
[ 1, 2]
[ 3, 4]
S=eig(A)
S =
5/2 - 33^(1/2)/2
33^(1/2)/2 + 5/2
;通用置换命令;syms a b x
f=a+b*sin(x);
t=0:pi/20:2*pi;
y=subs(f,{a,b,x},{2,3,t});
plot(t,y);符号微积分;例:计算;例:计算;导数的符号运算;例:求函数
的二阶导数。;例:求函数
关于x和y的二阶偏导数。;例3.7:求
;函数的积分;例3.9:求定积分;级数的符号计算 ;符号运算小结;清除变量; syms a b c
x=12.34
x =
12.3400
s=class(a)
s =
sym
s1=class(x)
s1 =
double
s2=isa(a,sym)
s2 =
1;符号变量的限制举例;
原创力文档


文档评论(0)