北航 MATLAB教程答案(张志涌)

合集下载

北航Matlab教程(R2011a)习题2解答 2

北航Matlab教程(R2011a)习题2解答 2

习题21. 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”对象?3/7+0.1, sym(3/7+0.1), vpa(sym(3/7+0.1)) a=class(3/7+0.1)%双精度 b=class(sym(3/7+0.1))%符号c=class(vpa(sym(3/7+0.1),4))%符号 d=class(vpa(sym(3/7+0.1)))%符号2. 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。

sym('sin(w*t)') , sym('a*exp(-X)' ) , sym('z*exp(j*th)') a=sym('sin(w*t)'); symvar(a)b=sym('a*exp(-X)'); symvar(b)c=sym('z*exp(j*th)'); symvar(c)3. 求以下两个方程的解: (提示:关于符号变量的假设要注意)(1)试写出求三阶方程05.443=-x 正实根的程序。

注意:只要正实根,不要出现其他根。

x=sym('x','positive'); f=x^3-44.5; x=solve(f,x)(2)试求二阶方程022=+-a ax x 在0>a 时的根。

a=sym('a','positive'); syms x;f=x^2-a*x+a^a; x=solve(f,x)4. 观察一个数(在此用@记述)在以下四条不同指令作用下的异同: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))等来观察。

北航Matlab教程(R2011a)习题6解答

北航Matlab教程(R2011a)习题6解答

习题61. 请分别写出用for 和while 循环语句计算10000002100000002.02.02.012.0+++==∑=Λi i K 的程序。

此外,还请写出避免循环的数值、符号计算程序。

(提示:sum 和“指数采用数组”配合; tic, toc 可用以记录计算所花的时间。

)%for 语句计算tica=0;for j=0:1000000;a=a+0.2^j;endat1=toc%while 语句计算ticb=0;j=0;while j<=1000000b=b+0.2^j;j=j+1;endbt2=toc%数值计算ticd=zeros(1,1000000);k=0:1000000;d=0.2.^k;sum(d)t3=toc%符号法ticsyms jd=vpa(symsum(0.2^j,j,0,1000000))%算1000000用的时间比较长,用inf 比较快 t4=toc2. 编写一个函数M 文件,它的功能:没有输入量时,画出单位圆(见图p6-1);输入量是大于2的自然数N 时,绘制正N 边形,图名应反映显示多边形的真实边数(见图p6-2);输入量是“非自然数”时,给出“出错提示”。

此外,函数M 文件应有H1行、帮助说明和程序编写人姓名。

(提示:nargin, error, int2str)p6-1图function [] = zuoye6_2(N)%画正N边形%zuoye6_2(),画出单位圆%zuoye6_2(N),N为大于2的正整数,画出正N边形,否则会出错%我编写于2012-04-03switch nargincase 0N=100;R=1;t=0:2*pi/N:2*pi;x=R*cos(t);y=R*sin(t);plot(x,y,'-b','linewidth',3);title('Circle')axis equalaxis offshgcase 1if N~=round(N)|N==2|N<=0error('请输入大于2的整数')elseif N==round(N)R=1;t=0:2*pi/N:2*pi;x=R*cos(t);y=R*sin(t);plot(x,y,'-b','linewidth',3);title(['Poly gon nit',int2str(N), ' edges'])axis equalaxis offshgendend3.在matlab的\toolbox\matlab\elmat\private文件夹上有一个“烟圈矩阵”发生函数smoke.m。

MATLAB教程2012a第3章习题解答张志涌(可编辑修改word版)

MATLAB教程2012a第3章习题解答张志涌(可编辑修改word版)
F2=b^A
F2a=b.^A F2 =
0.99095 -0.66337 F2a =
0.5 0.125
%标量底矩阵指数的求幂 %标量底数组指数的求幂
-0.44225 0.32759
0.25 0.0625
(3)
F3a=A.^C
F3a =
1
4
3
2
%数组底数组指数的求幂
F3=A^C
%矩阵底矩阵指数的求幂运算不存在
〖解答〗
A=magic(3), B=[1,2,1;3,4,3;5,6,7]%创建阵列
A=
8
1
6
3
5
7
4
9
2
B=
1
2
1
3
4
3
5
6
7
(1)
C1amb=A*B
C1bma=B*A C1amb =
41 56 53 53 68 67 41 56 45 C1bma = 18 20 22 48 50 52 86 98 86
后根据计算结果回答以下问题:
(提示:根据对计算结果的目测回答问题)
〖目的〗 数组运算和矩阵运算的不同。 如何判断两个双精度数组是否相等。 norm 指令的应用。
〖解答〗
A=[1, 2; 3, 4],b=0.5,C=[4, 2; 1, 0.5]
A=
1
2
3
4
b=
0.5
C=
4
2
1
0.5
%创建数据
(1)
第 3 章 数值阵列及其运算
习题 3 及解答
1 在 MATLAB 中,先运行指令 A=magic(3), B=[1,2,1;3,4,3;5,6,7]

北航Matlab教程(R2011a)习题7解答

北航Matlab教程(R2011a)习题7解答

习题7
1. 利用SIMULINK 求解dx e t I t
x ⎰-= 0 2)(在区间]1 ,0[∈t 积分,并求出积分值)1(I 。

(提
示:时间变量由Clock 产生;注意使用 Product, Math function, Integrator, Display, Scope 等库模块;计算结果可与例4.1-5对照。


2. 利用SIMULINK 求解微分方程
0)1(222=+--x dt dx x dt x d μ,方程的初始条件为0)0(,1)0(==dt
dx x 。

在增益模块“Gain ”取值分别为2和100的情况下(即数学表达式中100 ,2=μ)运行,给出运行结果。

(提示:注意使用Constant, Product, Add, Gain, Integrator, Scope 等库模块;注意初始状态设置;针对不同μ,采用不同解算器,并设置不同仿真终止时间;运算结果可与例4.1-9对照。


3.已知某系统的框图如图p7-1所示,求该系统的传递函数。

(提示:参照例7.1-2)
图p7-1
[A,B,C,D]=linmod2('zuoye0703'); %从Simulink模型得到系统的状态方程
STF=tf(minreal(ss(A,B,C,D))) %求状态方程最小实现的传递函数LTI对象。

张志涌matlab第一讲基础准备入门2015

张志涌matlab第一讲基础准备入门2015

主要参考书 《Matlab教程—R2011a》张志涌,杨祖樱等编著,北 航出版 2010

《精通MATLAB 6.5》张志涌 等编著,北航出版,2003 年
授课宗旨
• 讲授MATLAB的通用功能。
• 寓教于例,由浅入深。
MATLAB课程介绍
目标(in MATLAB):

掌握数学(矩阵)运算 掌握简单编程 掌握简单的数据处理及基本图形绘制

使用plot函数可随时将计算结果可视

1、基础准备及入门
本章有三个目的: 1、 讲述Matlab正常运行所必备的基础条件;
2、简明地介绍Matlab及其操作桌面Desktop 的基本使用方法。
3、介绍Matlab的帮助系统。
1.1 MATLAB的桌面环境及入门知识

Matlab的安装和工具包的选择

Cleve Moler


将MATLAB商品化的不是Cleve Moler,而是一个名叫Jack Little
的人。当免费的MATLAB软件到Stanford大学,Jack Little正在该 校主修控制,便接触到了当时MATLAB,直觉告诉他,这是一个 具有巨大发展潜力的软件。因此他在毕业沒多久,就开始用C语 言重新编写了MATLAB的核心。在Moler的协助下,于1984年成 立MathWorks公司,首次推出MATLAB商用版。在其商用版推出 的初期,MATLAB就以其优秀的品质(高效的数据计算能力和开 放的体系结构)占据了大部分数学计算软件的市场,原来应用于 控制领域里的一些封闭式数学计算软件包(如英国的UMIST、瑞 Jack Little
本课程的目的( Objectives of This Course )

北航Matlab教程(R2011a)习题4解答

北航Matlab教程(R2011a)习题4解答

习题41. 根据题给的模拟实际测量数据的一组t 和 )(t y 试用数值差分diff 或数值梯度gradient 指令计算)(t y ',然后把)(t y 和)(t y '曲线绘制在同一张图上,观察数值求导的后果。

(模拟数据从prob_data401.mat 获得)(提示:自变量t 采样间距太小。

)load prob_401;N=20;diff_y1=(diff(y(1:N:end)))./diff(t(1:N:end));gradient_y1=(gradient(y(1:N:end)))./gradient(t(1:N:end));t1=t(1:N:end);length(t1)plot(t,y,t1(1:end-1),diff_y1)plot(t,y,t1,gradient_y1)2. 采用数值计算方法,画出dt tt x y x⎰=0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。

(提示:cumtrapz 快捷,在精度要求不高处可用;quad 也可试。

巧用find 。

) d=0.5;tt=0:d:10;t=tt+(tt==0)*eps;y=sin(t)./t;s=d*trapz(y)ss=d*(cumtrapz(y))plot(t,y,t,ss,'r'),hold ony4_5=ss(find(t==4.5))yi=interp1(t,ss,4.5),plot(4.5,yi,'r+')3. 求函数x e x f 3sin )(=的数值积分⎰=π0 )(dx x f s ,并请采用符号计算尝试复算。

(提示:各种数值法均可试。

)d=pi/20;x=0:d:pi;fx=exp(sin(x).^3);s=d*trapz(fx)s1=quad('exp(sin(x).^3)',0,pi)s2=quadl('exp(sin(x).^3)',0,pi)s3=vpa(int('exp(sin(x)^3)',0,pi))s4=vpa(int(sym('exp(sin(x)^3)'),0,pi))4. 用quad 求取dx x e x sin 7.15⎰--ππ的数值积分,并保证积分的绝对精度为910-。

MATLAB教程_R2014a_答案_全_张志涌

MATLAB教程_R2014a_答案_全_张志涌

可以看到,除了 a4 为精确,其余均存在很小的误差。其中 a2 与 a3 的误差较小,小于 eps 精度,故可认为为精确的。
3 独立自由变量
a1=sym('sin(w*t)') ; a2=sym('a*exp(-X)' ); a3=sym('z*exp(j*th)'); symvar(a1,1) symvar(a2,1) symvar(a3,1) ans = w ans = a ans = z
13 序列卷积
syms a b n; syms k positive; xk=a.^k; hk=b.^k; kn=subs(xk,k,k-n)*subs(hk,k,n); yk=symsum(kn,n,0,k) yk = piecewise([a == b and b ~= 0, b^k*(k + 1)], [a ~= b or b == 0, (a*a^k - b*b^k)/(a - b)])
sinint(x) 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -6 -4 -2 0 x 2 4 6
12 积分表达式
syms x; syms n positive; yn=int((sin(x)).^n,x,0,pi/2) yn3=subs(yn,n,1/3); vpa(yn3,32) yn = beta(1/2, n/2 + 1/2)/2 ans = 1.2935547796148952674767575125656
54072115771300376388410321549680270587533748496ans25916383035209734833563133680010964690086123554相同对于矩阵而言对位相乘无差异不相同点乘与矩阵乘法进行的不是同一种运算

MATLAB 课后部分答案

MATLAB 课后部分答案

P77 第2章1、>> x=2;>> y=power(x,3)+(x-0.98).^2./(x+1.35).^3-5*(x+1./x)>> x=4;>> y=power(x,3)+(x-0.98).^2./(x+1.35).^3-5*(x+1./x)7、>> mat=rand(4,5);>> m=1;>> for i=1:2for j=1:5if mat(i,j)>0.3b(m)=mat(i,j);m=m+1;endendend>> b8、>> V=inv(A)>> A=rand(5,5);10、>> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8];B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C=A*B??? Error using ==> mtimesInner matrix dimensions must agree.>> C=A.*BC =5 16 24 -26-18 -12 -15 72-2 -21 108 -5611、>> x=linspace(0,2*pi,125);>> y=cos((x).*(0.5+3*sin(x)./(1+x.^2)));>> plot(x,y)13、>> x=-2:0.1:2;y=-2:0.1:2;>> [X,Y]=meshgrid(x,y);>> Z=X.^2.*exp(-X.^2-Y.^2);>> mesh(Z)建立一个M函数文件mycos.m,程序如下:function y=mycos(x)clear allx=input('请输入x的值')y=1./((x-2).^2+0.1)+1./((x-3).^3+0.01)在命令窗口输入:mycosP123 第3章1、>> x=[446 714 950 1422 1634];y=[7.04 4.28 3.40 2.54 2.13];>> xi=500:500:1500;>> yi=interp1(x,y,xi,'linear')4、>> p=[3 4 7 2 9 12];>> roots(p)8、>> a=[2 4 9;4 2 4;9 4 18];>> [V,D]=eig(a) %V的列向量是相应的特征向量,对角阵D的对角元素为a的特征值10、>> p1=[-1 4 0];p2=[-1 -4 0];>> A=polyder(p1);B=polyder(p2);>> A1=roots(A);B1=roots(B);>> y=4*A1-4*B1-A1.^2-B1.^213、>> syms x y>> Ex=int(int(x.*12.*y.^2,y,0,x),x,0,1)>> Ey=int(int(y.*12.*y.^2,x,y,1),y,0,1)>> Exy=Ex.*Ey14、>> A=rand(4,4);>> [L,U]=lu(A)>> [Q,R]=qr(A)P183 第4章1、>> n=-2*pi:0.01:2*pi;>> N=12;x=cos(n*pi./6);>> X=fft(x,N)>> nx=((n>=0)&(n<=11)); hx=((n>=0)&(n<=5)); >> xn=0.8*nx;hn=hx;>> y=conv(xn,hn)4、>> n=0:11;h=0:5;>> nx=((n>=0)&(n<=11)); hx=((n>=0)&(n<=5)); >> xn=0.8*nx;hn=hx;>> M=length(xn);N=length(hn);>> L=pow2(nextpow2(M+N-1));>> Xk=fft(xn,L);Hk=fft(hn,L);>> Yk=Xk.*Hk;>> yn=ifft(Yk,L)5、>> num=[2 3 0];den=[1 0.4 1];>> [z,p,k]=tf2zp(num,den)6、>> num=[4 15.6 6 2.4 -6.4];den=[3 2.4 6.3 -11.4 6]; >> [z,p,k]=tf2zp(num,den)>> zplane(z,p)7、>> num=[18 0 0 0];den=[18 3 -4 -1];>> [r,p,k]=residuez(num,den)9、建立一个M函数文件,程序如下:clear allN=10;[z,p,k]=buttap(N);[A,B,C,D]=zp2ss(z,p,k);wc1=100;wc2=200;[At,Bt,Ct,Dt]=lp2bp(A,B,C,D,wc1,wc2);[num1,den1]=ss2tf(At,Bt,Ct,Dt);[num2,den2]=impinvar(num1,den1);dimpulse(num2,den2)10、建立一个M函数文件,程序如下:clear allwp=100*2*pi;ws=200*2*pi;Rp=2;Rs=15;Fs=500;[N,Wc]=buttord(wp,ws,Rp,Rs,'s'); %选择滤波器的最小阶数[z,p,k]=buttap(N);[B,A]=zp2tf(z,p,k);[num,den]=bilinear(B,A,Fs); %模拟滤波器的传递函数转换为数字滤波器的传递函数freqz(num,den)11、建立一个M函数文件,程序如下:clear allN=48;w=[0.35,0.65];B=fir1(N,w,'bandpass'); %返回一个N阶的带通滤波器freqz(B) %绘制滤波器的频率响应曲线12、建立一个M函数文件,程序如下:clear allN=37;wc=0.3*pi;B=fir1(N,wc);freqz(B) %绘制滤波器的频率响应曲线13、建立一个M函数文件,程序如下:clear allN=55;F=[0:1/55:1];A=[ones(1,28),zeros(1,N-27)];B=fir2(N,F,A);freqz(B) %绘制滤波器的频率响应曲线15、建立一个M函数文件,程序如下:clear allwc=0.4*pi/(2*pi);N=12;[B,A]=butter(N,wc);%设计N阶截止频率为wc的Butterworth低通数字滤波器的传递函数模型m=dimpulse(B,A,101);stem(m,'.')P277 第6章2、建立一个M函数文件,程序如下:function [h,l]=huffmancode(P)if length(find(P<0))~=0,error('Not a prod.vector')endif abs(sum(P)-1)>10e-10error('Not a prod.vector')endn=length(P);for i=1:n-1for j=i:nif P(i)<=P(j)p=P(i);P(i)=P(j);P(j)=p;endendenddisp('概率分布'),PQ=P;m=zeros(n-1,n);for i=1:n-1[Q,l]=sort(Q);m(i,:)=[l(1:n-i+1),zeros(1,i-1)];Q=[Q(1)+Q(2),Q(3:n),1];endfor i=1:nc(i,:)=blanks(n*n);endc(n-1,n)='0';c(n-1,2*n)='1';for i=2:n-1c(n-i,1:n-1)=c(n-i+1,n*(find(m(n-i+1,:)==1))-(n-2):n*(find(m(n-i+1,:)==1)));c(n-1,n)='0';c(n-i,n+1:2*n-1)=c(n-i,1:n-1);c(n-i,2*n)='1';for j=1:i-1c(n-i,(j+1)*n+1:(j+2)*n)=c(n-i+1,n*(find(m(n-i+1,:)==j+1)-1)+1:n*find(m(n-i+1,:)==j+1));endendfor i=1:nh(i,1:n)=c(1,n*(find(m(1,:)==i)-1)+1:find(m(1,:)==i)*n);ll(i)=length(find(abs(h(i,:))~=32));endl=sum(P.*ll); %计算平均码长在命令窗口中输入:>> P=[0.20 0.15 0.13 0.12 0.1 0.09 0.08 0.07 0.06];>> [h,l]=huffmancode(P)3、建立一个M函数文件,程序如下:function[sqnr,a_quan,code]=u_pcm(a,n)% U_PCM 一个序列均匀的PCM编码.% n=量化级数的数目(偶数).% sqnr=输入信号量化噪声比(偶数)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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位有效数字表达。

相关文档
最新文档