资源描述:
《《MATLAB科学计算》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章MATLAB科学计算5.1符号对象和符号表达式5.2微积分运算5.3线性代数运算5.4数据分析5.55.6可视化数学分析5.1符号对象和符号表达式5.1.1符号对象的生成和使用指令格式:f=sym(arg):把表达式arg转换为符号对象f=sym(argn,flagn):把表达式arg转换为flagn格式的符号对象argv=sym(‘argv’,flgv):按flagv指定的要求把表达式‘argv’定义为符号对象argvsyms(‘argv1’,’argv2’,’argvk’):把字符arg1,arg
2、2,argk定义为基本符号对象arg是数值及其表达式时,flag可取选项:‘d’:最接近的十进制浮点精确表示‘e’:带估计误差的有理表示‘f’:十六进制浮点表示‘r’:最接近有理表示,缺省设置arg是字符时,flag可取选项:‘positive’:限定argv为正实数符号变量‘real’:限定argv为实数符号变量‘unreal’:argv为非实数符号变量5.1符号对象和符号表达式5.1.2符号计算中的运算符和基本函数运算符:矩阵运算符:+、-、*、/、、^、’数组运算符:.*、./、.、.^、.’关系
3、运算符:只有==、~=函数运算:三角函数、双曲函数及其反函数指数函数、对数函数:只有log,没有log2、log10复数函数:conj、real、imag、abs,没有求相角的指令矩阵代数指令:diag、triu、tril、inv、det、rank、rref、null、colspace、poly、expm、eig、svd特例:[U,S,V]=svd(A)如果A矩阵含有非常数的自由变量,只能使用S=svd(A)如果A不含有自由变量,[U,S,V]=svd(A)将可以给出32位精度的数值形式的符号解5.1符号对
4、象和符号表达式5.1.3识别符号对象类别与自由变量确定识别符号对象类别:符号对象类别识别:class(sym)符号对象大小判别:size(sym)符号大小属性获取:whossym自由变量确定findsym(expr):确认表达式expr中所有自由符号变量findsym(expr,n):从表达式expr中确认出靠x最近的N个独立自由变量5.1符号对象和符号表达式5.1.4符号表达式与符号函数的操作符号表达式的操作:collect(expr,v):对expr表达式中指定的符号对象v的同幂项系数进行合并expan
5、d(expr):对expr表达式进行展开factor(expr):对expr表达式进行因式分解horner(expr):把多项式expr分解为嵌套形式[n,d]=numden(expr):提取表达式expr的分母与分子simplify(expr):对表达式expr进行化简simple(expr):把expr转换为最简形式pretty(expr):以习惯的书写方式显示expr表达式符号函数的操作:g=finverse(f,v):对函数f(v)求反函数g(v)g=finverse(f):对缺省自变量求反函数gf
6、g=compose(f,g,v,w,t):对f(v)和v=g(w)求复合函数fg=f(g(w))fg=compose(f,g):依缺省自变量对f和g求复合函数fg=f(g())缺省自变量由findsym自动确定5.1符号对象和符号表达式5.1.5置换及其应用自动执行的子表达式置换[RS,ssub]=subexpr(S,ssub)运用符号变量ssub置换子表达式,重写S为RS被置换的子表达式是机器自动寻找的置换原则与pretty指令相同通用置换指令:RES=subs(ES,old,new):用new置换ES中
7、的old后产生RESRES=subs(ES,new):用new置换ES中的自由变量后产生RESRES=subs(ES):用当前内存中已知值置换ES中所有可能的同名变量后产生RESold可取串表达式、符号变量、元胞数组、数值变量subs指令可以嵌套5.1符号对象和符号表达式5.1.6符号数值精度控制与计算向双精度数值转换的double指令对符号运算结果采用double指令时所产生的误差是准确的符号结果转换为数值时产生的,而不是整个运算过程中积累而成完全由数值计算所得结果精度较差任意精度的符号数值digits:
8、显示当前采用的数值计算的误差digits(n):设置今后数值计算以n位相对精度进行xs=vpa(x):在digits指定精度下给出x的数值型符号结果xsxs=vpa(x,n):在n位相对精度下给出x的数值型符号结果xs5.1符号对象和符号表达式5.1.7符号对象与其他数据对象间的转换符号、数值、字符串间的转换数值型符号结果符号常数符号表达式数值字符串表达式ASCII码str2numstr2doublesscanf