文档详情

2013第二章matlab攻略.doc

发布:2016-12-30约2.23万字共31页下载文档
文本预览下载声明
符号计算 所谓符号计算是指:解算数学表达式、方程不是在离散化的数值点上进行,而是凭借一系列恒等式,数学定理,通过推理和演绎,力求获得解析结果。这种计算建立在数值完全准确表达和推演严格解析的基础之上,因此所得结果是完全准确的。 本书之所以把符号计算内容放在第2章,是出于以下考虑:一,相对于MATLAB的数值计算“引擎”和“函数库”而言,符号计算的“引擎”和“函数库”是独立的。二,在相当一些场合,符号计算解算问题的指令和过程,显得比数值计算更自然、更简明。三,大多数理工科的本科学生在学过高等数学和其他专业基础课以后,比较习惯符号计算的解题理念和模式。 在编写本章时,作者在充分考虑符号计算独立性的同时,还考虑了章节的自完整性。为此,本章不但全面地阐述符号计算,而且在最后一节还详细叙述了符号计算结果的可视化。 这样的安排,将使读者在阅读完本章后,就有可能运用MATLAB的符号计算能力去解决相当一些具体问题。 符号对象和符号表达式 符号对象的创建和衍生 生成符号对象的基本规则 符号数字 【例2.1-1】符号(类)数字与数值(类)数字之间的差异。 a=pi+sqrt(5) sa=sym(pi+sqrt(5)) Ca=class(a) Csa=class(sa) vpa(sa-a) a = 5.3777 sa = pi+sqrt(5) Ca = double Csa = sym ans = .138223758410852e-16 符号参数 符号变量 【例2.1-2】用符号计算研究方程的解。 (1) syms u v w z Eq=u*z^2+v*z+w; result_1=solve(Eq) % findsym(Eq,1) result_1 = -u*z^2-v*z ans = w (2) result_2=solve(Eq,z) result_2 = 1/2/u*(-v+(v^2-4*u*w)^(1/2)) 1/2/u*(-v-(v^2-4*u*w)^(1/2)) 【例2.1-3】对独立自由符号变量的自动辨认。 (1) syms a b x X Y k=sym(3); z=sym(c*sqrt(delta)+y*sin(theta)); EXPR=a*z*X+(b*x^2+k)*Y; (2) findsym(EXPR) ans = X, Y, a, b, c, delta, theta, x, y (3) findsym(EXPR,1) ans = x (4) findsym(EXPR,2),findsym(EXPR,3) ans = x,y ans = x,y,theta 【例2.1-4】findsym确定自由变量是对整个矩阵进行的。 syms a b t u v x y A=[a+b*x,sin(t)+u;x*exp(-t),log(y)+v] findsym(A,1) A = [ a+b*x, sin(t)+u] [ x*exp(-t), log(y)+v] ans = x 符号计算中的算符 符号计算中的函数指令 符号对象的识别 【例2.1-5】数据对象及其识别指令的使用。 (1) clear a=1;b=2;c=3;d=4; Mn=[a,b;c,d] Mc=[a,b;c,d] Ms=sym(Mc) Mn = 1 2 3 4 Mc = [a,b;c,d] Ms = [ a, b] [ c, d] (2) SizeMn=size(Mn) SizeMc=size(Mc) SizeMs=size(Ms) SizeMn = 2 2 SizeMc = 1 9 SizeMs = 2 2 (3) CMn=class(Mn) CMc=class(Mc) CMs=class(Ms) CMn = double CMc = char CMs = sym (4) isa(Mn,double) isa(Mc,char) isa(Ms,sym) ans = 1 ans = 1 ans = 1 (5) whos Mn Mc Ms Name Size Bytes Class Mc
显示全部
相似文档