资源描述:
《符号计算教程(Matlab).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途Matlab6.0符号计算MATLAB4。2中,符号计算所依赖的SymbolicMathToolbox1.0版是一个过渡性产品。1.0版中的几乎所有指令都已经被废止。而今MATLAB5.3的符号计算工具包已升级为2.1版,它的工作原动机是MapleV5.2。1版采用全新的数据结构、面向对象编程和重载技术,使得符号计算和数值计算在形式和风格上浑然统一。6.1符号对象和符号表达式6.1.1符号对象的生成和使用【*例6。1.1—1】符号常数形成中的差异a1=[1/3,pi/7,sqrt(5),pi+sqrt(5
2、)]%a1是数值常数<1>a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)])%最接近的有理表示〈2>a3=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)],’e’)%带估计误差的有理表示<3〉a4=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]’)%绝对准确的符号数值表示<4>a24=a2—a4a1=0。33330。44882。23615。3777a2=[1/3,pi/7,sqrt(5),6054707603575008*2^(-50)]a3=[1/3—eps/12
3、,pi/7-13*eps/165,sqrt(5)+137*eps/280,6054707603575008*2^(—50)]a4=[1/3,pi/7,sqrt(5),pi+sqrt(5)]a24=[0,0,0,189209612611719/35184372088832-pi—5^(1/2)]【*例6.1.1—2】演示:几种输入下产生矩阵的异同。a1=sym([1/3,0。2+sqrt(2),pi])%产生符号数组〈1>a2=sym('[1/3,0.2+sqrt(2),pi]’)%产生符号数组<2〉a3=sym('[1/30。2
4、+sqrt(2)pi]’)%2。1版中产生符号数组<3〉a1_a2=a1—a2%为比较a1,a2a1=[1/3,7269771597999872*2^(-52),pi]a2=[1/3,0.2+sqrt(2),pi]a3=[1/3,0。2+sqrt(2)pi]a1_a2=个人收集整理勿做商业用途[0,1.4142135623730951010657008737326-2^(1/2),0]【*例6。1.1—3】把字符表达式转换为符号变量y=sym('2*sin(x)*cos(x)’)%把字符表达式转换为符号变量y=simple(y)
5、%按规则把已有的y符号表达式化成最简形式y=2*sin(x)*cos(x)y=sin(2*x)【*例6。1。1—4】用符号计算验证三角等式。symsfai1fai2;y=simple(sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2))y=sin(fai1—fai2)【*例6。1.1—5】求矩阵的行列式值、逆和特征根symsa11a12a21a22;A=[a11,a12;a21,a22]DA=det(A),IA=inv(A),EA=eig(A)A=[a11,a12][a21,a22]DA=a11*a2
6、2-a12*a21IA=[a22/(a11*a22-a12*a21),-a12/(a11*a22-a12*a21)][—a21/(a11*a22—a12*a21),a11/(a11*a22—a12*a21)]EA=[1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)][1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]【*例6。1.1-6】验证积分.symsAttaow;yf=int(A*ex
7、p(—i*w*t),t,—tao/2,tao/2);Yf=simple(yf)Yf=2*A*sin(1/2*tao*w)/w6.1.1符号计算中的算符和基本函数个人收集整理勿做商业用途6.1.1识别对象类别的指令【*例6.1。3—1】数据对象及其识别指令的使用。(1)生成三种不同类型的矩阵,给出不同的显示形式clear,a=1;b=2;c=3;d=4;%产生四个数值变量Mn=[a,b;c,d]%利用已赋值变量构成数值矩阵Mc='[a,b;c,d]’%字符串中的a,b,c,d与前面输入的数值变量无关Ms=sym(Mc)%Ms是一个
8、符号变量,它与前面各变量无关.Mn=1234Mc=[a,b;c,d]Ms=[a,b][c,d](2)三种矩阵的大小不同SizeMn=size(Mn),SizeMc=size(Mc),SizeMs=size(Ms)SizeMn=22SizeMc=19SizeMs=