1 数字1.5e2,1.5e3 中的哪个与1500相同吗?1.5e32 请指出如下5个变量名中,哪些是合法的? abcd-2 xyz_3 3chan a 变量 ABCDefgh2、5是合法的。
3 在MATLAB 环境中,比1大的最小数是多少?1+eps4 设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么?w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2w1 = -2.0000 + 3.4641i ;w2 = 4.0000 ;w3 =-2.0000 + 3.4641i 5 指令clear, clf, clc 各有什么用处?clear 清除工作空间中所有的变量。
clf 清除当前图形。
clc 清除命令窗口中所有显示。
第二章1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?3/7+0.1双; sym(3/7+0.1)符; sym('3/7+0.1') 符;; vpa(sym(3/7+0.1)) 符;2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') symvar(sym('sin(w*t)'),1) w a z3 (1)试写出求三阶方程05.443=-x 正实根的程序。
注意:只要正实根,不要出现其他根。
(2)试求二阶方程022=+-a ax x 在0>a 时的根。
(1)reset(symengine)syms x positive solve(x^3-44.5) ans =(2^(2/3)*89^(1/3))/2(2)求五阶方程022=+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2)Warning: Explicit solution could not be found. > In solve at 83 ans =[ empty sym ]syms x clear syms a positivesolve(x^2-a*x+a^2) ans =a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/24 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。
a =@,b = sym( @ ),c = sym( @ ,'d ' ), d = sym( '@ ' )在此,@ 分别代表具体数值 7/3 , pi/3 , pi*3^(1/3) ;而异同通过vpa(abs(a-d)) , vpa(abs(b-d)) , vpa(abs(c-d))等来观察。
● 理解准确符号数值的创建法。
● 高精度误差的观察。
(1)x=7/3x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'),2.3333 b = 7/3 c =2.3333333333333334813630699500209 d = 7/3v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d)) v1 = 0.0 v2 = 0.0 v3 =0.00000000000000014802973661668756666666667788716(2)x=pi/3x=pi/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('pi/3'), a =1.0472 b = pi/3 c =1.047197551196597631317786181171 d = pi/3v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d)) v1 = 0.0 v2 = 0.0 v3 =0.00000000000000011483642827992216762806615818554(3)x=pi*3^(1/3)x=pi*3^(1/3);a=x,b=sym(x),c=sym(x,'d'),d=sym('pi*3^(1/3)') a =4.5310 b =1275352044764433/281474976710656 c =4.5309606547207899041040946030989 d =pi*3^(1/3)v1=vpa(abs(a-d)),v2=vpa(abs(b-d)),v3=vpa(abs(c-d)) v1 =0.00000000000000026601114166290944374842393221638 v2 =0.00000000000000026601114166290944374842393221638 v3 =0.00000000000000026601114166290947267679917855155 求符号矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333231232221131211a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。
理解subexpr 指令。
A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]') DA=det(A) IA=inv(A);[IAs,d]=subexpr(IA,d)[ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA =a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs =[ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d =1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)6 求∑∞=0k kx 的符号解,并进而用该符号解求∑∞=-0)31(k k,∑∞=0)1(k kπ,∑∞=03k k的准确值。
● symsum, subs 的应用。
●从实例中,感受指令所给出的关于∑∞=0k k x 符号解的含义。
syms x k f=x^(k);Z1=symsum(f,k,0,inf) Z1 =piecewise([1 <= x, Inf], [abs(x) < 1, -1/(x - 1)])subs(Z1,x,{sym('-1/3'),sym('1/pi'),sym('3')}) ans =[ 3/4, -1/(1/pi - 1), Inf]7 对于0>x ,求12011122+∞=∑⎪⎭⎫⎝⎛+-+k k x x k 。
(提示:理论结果为x ln )● 符号变量的限定性定义的作用。
syms k;x=sym('x','positive');f_k=2/(2*k+1)*((x-1)/(x+1))^(2*k+1);s=simple(symsum(f_k,k,0,inf)) %结果与理论值lnx 相符! s =piecewise([abs(x - 1) < x + 1, log(x)])〖注意〗● 解答中,条件abs(x - 1) < x + 1意味着:⏹ 约束一:x-1<x+1 ⇒ 2>0 ⇒ 此式总成立,说明“无约束”。
⏹ 情况二:-(x-1)<x+1 ⇒ x>0 ⇒ 此为“约束”,满足题意。
8 (1)通过符号计算求t t y sin )(=的导数dtdy 。
(2)然后根据此结果,求-=0t dtdy和2π=t dtdy 。
● diff, limit 指令的应用。
● 如何理解运行结果。
syms ty=abs(sin(t))d=diff(y) %求dy/dtd0_=limit(d,t,0,'left') %求dy/dt|t=0- dpi_2=limit(d,t,pi/2) %求dy/dt|t=pi/2 y =abs(sin(t)) d =sign(sin(t))*cos(t) d0_ = -1dpi_2 = 0 9 求出dx x exsin 7.110⎰--ππ的具有64位有效数字的积分值。
● 符号积分的解析解和符号数值解。
● 符号计算和数值计算的相互校验。
(1)符号积分 syms x clear syms xy=exp(-abs(x))*abs(sin(x))si=vpa(int(y,-10*pi,1.7*pi),64) y =abs(sin(x))/exp(abs(x)) si =1.087849499412904913166671875948174520895458535212845987519414166 (2)数值计算复验xx=-10*pi:pi/100:1.7*pi;sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100 sn =1.087710 计算二重积分⎰⎰+211222)(x dydx y x 。
● 变上限二重积分的符号计算法。
syms x y f=x^2+y^2;r=int(int(f,y,1,x^2),x,1,2) r =1006/10511 在]2,0[π区间,画出dt ttx y x⎰=sin )(曲线,并计算)5.4(y 。
● 在符号计算中,经常遇到计算结果是特殊经典函数的情况。
● 如何应用subs 获得超过16位有效数字的符号数值结果。
● 初步尝试ezplot 指令的简便。
(1)符号计算 syms t x; f=sin(t)/t;y=int(f,t,0,x) % 将得到一个特殊经典函数 y5=subs(y,x,sym('4.5')) ezplot(y,[0,2*pi]) y =sinint(x) y5 =1.6541404143792439835039224868515(2)数值计算复验 tt=0:0.001:4.5; tt(1)=eps;yn=trapz(sin(tt)./tt)*0.001 yn =1.654112 在0>n的限制下,求xdx n y n ⎰=20sin )(π的一般积分表达式,并计算)31(y 的32位有效数字表达。