当前位置:文档之家› matlab课后习题解答第二章

matlab课后习题解答第二章

matlab课后习题解答第二章
matlab课后习题解答第二章

第2章符号运算

习题2及解答

1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”

对象,还是“符号”符号对象

3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+)

〖目的〗

不能从显示形式判断数据类型,而必须依靠class指令。

〖解答〗

c1=3/7+

c2=sym(3/7+

c3=sym('3/7+')

c4=vpa(sym(3/7+)

Cs1=class(c1)

Cs2=class(c2)

Cs3=class(c3)

Cs4=class(c4)

c1 =

c2 =

37/70

c3 =

c4 =

Cs1 =

double

Cs2 =

sym

Cs3 =

sym

Cs4 =

sym

2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认

为是自由符号变量.

sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')

〖目的〗

理解自由符号变量的确认规则。

〖解答〗

symvar(sym('sin(w*t)'),1)

ans =

w

symvar(sym('a*exp(-X)'),1)

ans = a

symvar(sym('z*exp(j*th)'),1) ans = z

5求符号矩阵????

??????=3332

31

232221

131211

a 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) A =

[ 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)

8(1)通过符号计算求t t y sin )(=的导数

dt

dy

。(2)然后根据此结果,求-

=0t dt

dy 和2

π

=

t dt

dy 。

〖目的〗

diff, limit 指令的应用。 如何理解运行结果。 〖解答〗

syms t

d=diff(y) %求dy/dt

d0_=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_ = -1

dpi_2 = 0

9求出dx x e x sin 7.110?--π

π的具有64位有效数字的积分值。

〖目的〗

符号积分的解析解和符号数值解。 符号计算和数值计算的相互校验。 〖解答〗

(1)符号积分

syms x clear syms x

y=exp(-abs(x))*abs(sin(x)) si=vpa(int(y,-10*pi,*pi),64) y =

abs(sin(x))/exp(abs(x)) si =

(2)数值计算复验

xx=-10*pi:pi/100:*pi;

sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100 sn =

10计算二重积分??

+2

1

1

222

)(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/105

11在]2,0[π区间,画出dt t

t

x 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('')) ezplot(y,[0,2*pi]) y =

sinint(x) y5 = 0

1

2

34

5

6

00.20.40.60.811.21.41.61.8x

sinint(x)

(2)数值计算复验

tt=0::; tt(1)=eps;

yn=trapz(sin(tt)./tt)* yn =

12在0>n 的限制下,求xdx n y n ?

=

20

sin )(π

的一般积分表达式,并

计算)3

1(y 的32位有效数字表达。

〖目的〗

一般符号解与高精度符号数值解。

syms x

syms n positive f=sin(x)^n;

yn=int(f,x,0,pi/2)

y3s=vpa(subs(yn,n,sym('1/3'))) y3d=vpa(subs(yn,n,1/3)) yn =

beta(1/2, n/2 + 1/2)/2 y3s =

y3d =

13有序列k a k x =)(,k b k h =)(,(在此0≥k ,b a ≠),求这两个序列的卷积∑=-=k

n n k x n h k y 0)()()(。

〖目的〗

符号离散卷积直接法和变换法。 〖解答〗 (1)直接法

syms a b k n x=a^k; h=b^k;

w=symsum(subs(h,k,n)*subs(x,k,k-n),n,0,k) %据定义 y1=simple(w) w =

piecewise([a = b, b^k + b^k*k], [a <> b, (a*a^k - b*b^k)/(a - b)]) y1 =

piecewise([a = b, b^k + b^k*k], [a <> b, (a*a^k - b*b^k)/(a - b)])

(2)变换法(复验)

syms z

X=ztrans(a^k,k,z); H=ztrans(b^k,k,z); y2=iztrans(H*X,z,k) %通过Z 变换及反变换

y2 =

piecewise([b <> 0, (a*a^k)/(a - b) - (b*b^k)/(a - b)])

〖说明〗

符号计算不同途径产生的结果在形式上有可能不同,而且往往无法依靠符号计算本身的指令是它们一致。此时,必须通过手工解决。

15求0,)(>=-ααt Ae t f 的Fourier 变换。

〖目的〗

符号变量限定性定义的作用。 fourier 指令的应用。 〖解答〗

syms A t w

a=sym('a','positive');

f=A*exp(-a*abs(t)); y=fourier(f,t,w) F=simple(y) y =

(2*A*a)/(a^2 + w^2) F =

(2*A*a)/(a^2 + w^2)

17求4

633

)(23++++=

s s s s s F 的Laplace 反变换。

〖解答〗

syms s t

F=(s+3)/(s^3+3*s^2+6*s+4); f=simple(ilaplace(F,s,t)) f =

(3^(1/2)*sin(3^(1/2)*t) - 2*cos(3^(1/2)*t) + 2)/(3*exp(t))

19求T

k ke k f )(λ-=的Z 变换表达式。

〖目的〗

注意:变换中,被变换变量的约定。 〖解答〗

syms lambda k T z;

f_k=k*exp(-lambda*k*T); F_z=simple(ztrans(f_k,k,z)) F_z =

(z*exp(T*lambda))/(z*exp(T*lambda) - 1)^2

20求方程2,122==+xy y x 的解。

〖目的〗

solve 指令中,被解方程的正确书写,输出量的正确次序。 〖解答〗

eq1='x^2+y^2=1'; eq2='x*y=2';

[x,y]=solve(eq1,eq2,'x','y') x =

(1/2 + (15^(1/2)*i)/2)^(1/2)/2 - (1/2 + (15^(1/2)*i)/2)^(3/2)/2 - (1/2 + (15^(1/2)*i)/2)^(1/2)/2 + (1/2 + (15^(1/2)*i)/2)^(3/2)/2 (1/2 - (15^(1/2)*i)/2)^(1/2)/2 - (1/2 - (15^(1/2)*i)/2)^(3/2)/2 - (1/2 - (15^(1/2)*i)/2)^(1/2)/2 + (1/2 - (15^(1/2)*i)/2)^(3/2)/2 y =

(1/2 + (15^(1/2)*i)/2)^(1/2) -(1/2 + (15^(1/2)*i)/2)^(1/2) (1/2 - (15^(1/2)*i)/2)^(1/2) -(1/2 - (15^(1/2)*i)/2)^(1/2)

23求微分方程045=+'x y y 的通解,并绘制任意常数为1时解的图形。

〖目的〗

理解指令dsolve 的正确使用。 对dsolve 输出结果的正确理解。

ezplot 指令绘图时,如何进行线色控制。 如何覆盖那些不能反映图形窗内容的图名。 〖解答〗 (1)求通解

reset(symengine) clear syms y x

y=dsolve('*y*Dy+*x=0','x') y =

2^(1/2)*(C3 - (5*x^2)/8)^(1/2) -2^(1/2)*(C3 - (5*x^2)/8)^(1/2)

(2)根据所得通解中不定常数的符号写出“对其进行数值替代的指令”

yy=subs(y,'C3',1) %将通解中的C3用1代替 yy =

2^(1/2)*(1 - (5*x^2)/8)^(1/2) -2^(1/2)*(1 - (5*x^2)/8)^(1/2)

(3)观察通解中两个分解的平方是否相同 yy(1)^2==yy(2)^2

ans = 1

(4)于是可考虑函数的平方关系

syms Y

fxy=Y^2-yy(1)^2 fxy =

Y^2 + (5*x^2)/4 - 2

(5)根据平方关系式画完整曲线

clf

ezplot(fxy,[-2,2,-2,2]) axis square grid on

(6)假如直接用“分解”画曲线,那么将是不完整的

ezplot(yy(1)),hold on

cc=get(gca,'Children');

set(cc,'Color','r')

ezplot(yy(2)),axis([-2 2 -2 2])

legend('y(1)','y(2)'),hold off;

title(' ') %覆盖不完全的图名grid

axis square

-2

-1.5-1-0.5

00.51 1.52

-2-1.5-1-0.500.511.52x

y(1)y(2)

24求一阶微分方程2)0(,2=+=x bt at x

&的解。 〖目的〗

初值微分方程的符号解。 pretty 指令的使用。 〖解答〗

x=dsolve('Dx=a*t^2+b*t','x(0)=2','t') pretty(x) %比较易读的表达形式 x =

(t^2*(3*b + 2*a*t))/6 + 2 2

t (3 b + 2 a t) ---------------- + 2 6

25求边值问题

1)0(,0)0(,34,43==+-=+=g f g f dx

dg g f dx df 的解。(注意:相应的数值解法比较复杂)。

〖目的〗

边值微分方程的符号解。 〖解答〗

[f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','f(0)=0,g(0)=1') f =

sin(4*t)*exp(3*t) g =

cos(4*t)*exp(3*t)

matlab课后习题解答第二章

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象 3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+) 〖目的〗 不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+ c2=sym(3/7+ c3=sym('3/7+') c4=vpa(sym(3/7+) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = c2 = 37/70 c3 = c4 = Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1)

ans = a symvar(sym('z*exp(j*th)'),1) ans = z 5求符号矩阵???? ??????=3332 31 232221 131211 a 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) A = [ 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) 8(1)通过符号计算求t t y sin )(=的导数 dt dy 。(2)然后根据此结果,求- =0t dt dy 和2 π = t dt dy 。 〖目的〗 diff, limit 指令的应用。 如何理解运行结果。 〖解答〗 syms t

信号处理引论第五章及matlab作业答案

a=input('type in the first sequence ='); b=input('type in the second sequence ='); c=conv(a,b); M=length(c)-1; n=0:1:M; disp('output sequence =');disp(c) stem(n,c) xlabel('Time index n');ylabel('Amplitude'); type in the first sequence =[2 4 6 4 2 0 0 0] type in the second sequence =[3 -1 2 1] output sequence = Columns 1 through 9 6 10 18 16 18 12 8 2 0 Columns 10 through 11 0 0 ??? Undefined function or variable 'ylable'. Error in ==> E:\Matlab6p5FULL\bin\win32\Untitled.m On line 8 ==> xlabel('Time index n');ylabel('Amplitude'); type in the first sequence =[2 4 6 4 2 0 0 0] type in the second sequence =[3 -1 2 1] output sequence = Columns 1 through 9 6 10 18 16 18 12 8 2 0 Columns 10 through 11

第二章Matlab基本运算

课程名称:Matlab应用 教材:Matlab应用于实验教程教程 讲授人:专业技术职务:讲师 学历:研究生学位:硕士 讲授题目:Matlab基本运算 所属章节:第二章计划学时:2学时 教学目的和要求: MATLAB 7的优点不仅在于强大的功能,还在于其简单易学。 本章主要是介绍MATLAB 7的基本使用方法。在学习完本章的内容后,可以进行基本的数值运算,从而能够容易地解决许多在学习和科研中遇到的计算问题。 教学重点: ?标点符号的使用 ?常用的操作命令和键盘技巧 ?MATLAB 7的数据类型 ?常量和变量的使用方法 ?浮点数和复数的使用方法 教学难点: ?简单的数学运算 ?常用的操作命令和键盘技巧 ?MATLAB 7的数据类型 教学方法: 讲授、演示 使用教具: 多媒体课件 思考题:

1. MATLAB 的命令窗口的作用是什么?编辑/调试窗口?图象窗口? 2. 列出几种不同的得到MATLAB 帮助的方法。 3. 什么是工作区?在同一工作区内,你如何决定它里面存储了什么? 4.一小球从空中下落的位移公式为 2 002 1++=at t v x x 用MATLAB 计算小球在t =5s 时的位置,已知x 0 =10m ,v 0 =15m/s , a=-9.84m/s 2. 参考资料: 【1】 Matlab Programming for Engineers.(Second Edition).Stephen J.Champan 【2】 精通Matlab 7王正林.刘明编著.电子工业出版社

第2章Matlab 基本运算 在本章我们将学习MATLAB 的基本元素。在本章的章末,你将会编写简单的函数化的工具。 2.1 变量和数组 MATLAB 程序的基本数据单元是数组。一个数组是以行和列组织起来的数据集合,并且拥有一个数组名。数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号内是这个数据所对应行标和列标。标量在MATLAB 中也被当作数组来处理——它被看作只有一行一列的数组。 数组可以定义为向量或矩阵。向量一般来描述一维数组,而矩阵往往来描述二维或多维数组。当我们讨论一维数组时用向量表示,当我们讨论二维或多维向量时用矩阵。如果在特殊情况下,同时遇到这两种数组,我们就把他们通称为“数组”。 数组的大小(size )由数组的行数和列数共同决定,注意行数在前。一个数组所包含的数据多少可由行数乘列数得到。例如,下列数组的大小为 图 2.1 一个数组是以行和列组织起来的数据集合,此数组arr 含有20 个元素,共4 行,5列。阴影元素是arr(3,2) 数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号

matlab课后答案完整版

ones表示1矩阵 zeros表示0矩阵 ones(4)表示4x4的1矩阵 zeros(4)表示4x4的0矩阵 zeros(4,5)表示4x5的矩阵 eye(10,10)表示10x10的单位矩阵rand(4,5)表示4x5的伴随矩阵 det(a)表示计算a的行列式 inv(a)表示计算a的逆矩阵 Jordan(a)表示求a矩阵的约当标准块rank(a)表示求矩阵a的秩 [v,d]=eig(a)对角矩阵 b=a’表示求a矩阵的转置矩阵 sqrt表示求平方根 exp表示自然指数函数 log自然对数函数 abs绝对值 第一章 一、5(1) b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7]; >> e=b*c e = 5271 11574 -11336 664 1978 3112 (2)a=50:1:100 二、1 、x=-74; y=-27; z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z = 2、a=::; >> b=exp*a).*sin(a+ 3、x=[2 4; 5]; y=log(x+sqrt(1+x.^2))/2 y =4、a*b表示a矩阵和b矩阵相乘 a.*b表示a矩阵和b矩阵单个元素相乘A(m,n)表示取a矩阵第m行,第n列 A(m,:)表示取a矩阵第m行的全部元素 A(:,n)表示取a矩阵的第n列全部元素 A./B表示a矩阵除以b矩阵的对应元素, B.\A等价于A./B A.^B表示两个矩阵对应元素进行乘方运算A.^2表示a中的每个元素的平方 A^2表示A*A 例:x=[1,2,3]; y=[4,5,6]; z=x.^y z= 1 3 2 729 指数可以是标量(如y=2).底数也可以是标量(如x=2) 5、a=1+2i; >> b=3+4i; >> c=exp((pi*i)/6) c = + d=c+a*b/(a+b) d = + 第二章 二、4、(1) y=0;k=0; >> while y<3 k=k+1; y=y+1/(2*k-1); end >> display([k-1,y-1/(2*k-1)]) ans = 第三章 二1(1)

第五章MATLAB的绘画与图形处理

第五章 MATLAB 的绘画与图形处理 MATLAB 具有非常强大的二维和三维绘图功能,尤其擅长于各种科学运算结果的优秀可视化。 5.1二维曲线的绘制 5.1.1基本绘图命令plot plot 命令是MATLAB 中最简单而且使用最广泛的一个绘图命令,用来绘制二维曲线。 1. plot(x,y) 语法: plot(x,y) %绘制以x 为横坐标y 为纵坐标的二维曲线 【例5.1】绘制正弦曲线y=sin(x)和方波曲线,如图5.1所示。 >> x1=0:0.1:2*pi; >> y1=sin(x1); %y1为x1的正弦函数 >> plot(x1,y1); >> x2=[0 1 1 2 2 3 ]; >> y2=[1 1 0 0 1 1 ]; >> plot(x2,y2); >> axis([0 4,0 2]) %将坐标轴范围设定为0-4和0-2 2. plot(x1,y1,x2,y2,…)绘制多条曲线 plot 命令还可以同时绘制多条曲线,用多个矩阵对为参数,MATLAB 自动以不同的颜色绘制不同曲线。 【例5.2】绘制三条曲线,如图5.2所示。 图5.1 (a) 正弦曲线 (b) 方波曲线

>> x=0:0.1:2*pi; >> plot(x,sin(x),x,cos(x),x,sin(3*x)) %画三条曲线 图5.2 三条曲线 5.1.2绘制曲线的一般步骤 表5.1为绘制二维、三维图形一般步骤的归纳。 表5.1绘制二维、三维图形的一般步骤 内容 曲线数据准备: 对于二维曲线,横坐标和纵坐标数据变量; 说明: ?步骤1和3是最基本的绘图步骤,如果利用MA TLAB的默认设置通常只需要这两个基本步骤就可以基本绘制出图形,而其他步骤并不完全必需。 ?步骤2一般在图形较多的情况下,需要指定图形窗口、子图时使用。

matlab课后习题及答案详解

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?

matlab第二章习题答案

第一大题: (1) a = 7/3 b = sym(7/3) c = sym(7/3,'d') d = sym('7/3') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d)) a = 2.3333 b = 7/3 c = 2.3333333333333334813630699500209 d = 7/3 v1 = 0.0 v2 = 0.0 v3 = 0.00000000000000014802973661668756666666667788716(2) a = pi/3 b = sym(pi/3) c = sym(pi/3,'d') d = sym('pi/3') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d)) a = 1.0472 b = pi/3 c = 1.047197551196597631317786181171 d = pi/3 v1 = 0.0 v2 = 0.0 v3 = 0.00000000000000011483642827992216762806615818554 (3) a = pi*3^(1/3) b = sym(pi*3^(1/3)) c = sym(pi*3^(1/3),'d') d = sym('pi*3^(1/3)') v1=vpa(abs(a-d)) v2=vpa(abs(b-d)) v3=vpa(abs(c-d))

a = 4.5310 b = 1275352044764433/281474976710656 c = 4.5309606547207899041040946030989 d = pi*3^(1/3) v1 = 0.00000000000000026601114166290944374842393221638 v2 = 0.00000000000000026601114166290944374842393221638 v3 = 0.0000000000000002660111416629094726767991785515 第二大题: (1) c1=3/7+0.1 c1 = 0.5286 双精度 (2) c2=sym(3/7+0.1) c2 = 37/70 符号 (3) c3=vpa(sym(3/7+0.1)) c3 = 0.52857142857142857142857142857143 完整显示精度 第三大题: (1) findsym(sym('sin(w*t)'),1) ans = w (2) findsym(sym('a*exp(-X)' ) ,1) ans = a (3) findsym(sym('z*exp(j*theta)'),1) ans = z

matlab答案第五章

第五章 1.绘制下列曲线。 (1)2 1100 x y += (2)22 21x e y -=π (3)12 2 =+y x (4)? ??==3 2 5t y t x 答: (1) x=-10::10; y=100./(1+x.^2); plot(x,y) (2) x=-10::10; y=1/(2*pi)*exp(-x.^2/2); plot(x,y)

(3) ezplot('x^2+y^2=1')

(4) t=-10::10; x=t.^2; y=5*t.^3; plot(x,y) 2. 绘制下列三维图形。 (1)?? ? ??===t z t y t x sin cos (2)?? ? ??=+=+=u z v u y v u x sin sin )cos 1(cos )cos 1( (3)5=z (4)半径为10的球面(提示:用sphere 函数 答: (1) t=0:pi/100:2*pi; x=cos(t); y=sin(t);

z=t; plot3(x,y,z) (2) u=0:pi/100:2*pi; v=0:pi/100:2*pi; x=(1+cos(u)).*cos(v); y=(1+cos(u)).*sin(v); z=sin(u); plot3(x,y,z)

(3) [x,y]=meshgrid(-100:100); z=5*ones(size(x)); mesh(x,y,z) (4) [x,y,z] = sphere; %等价于sphere(20) 20是画出来的球面的经纬分面数...20的话就是20个经度, 20个纬度,或者说“就是划出20╳20面的单位球体,把球的表面分成400个小网格” surf(x,y,z); %绘制单位球面 x = 10*x; y = 10*y; z = 10*z; surf(x,y,z); %绘制半径为10的球面 axis equal

(完整版)matlab习题及答案(2)

第1章MATLAB概论 1.1与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MA TLAB系统由那些部分组成? MATLAB系统主要由开发环境、MA TLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MA TLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MA TLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MA TLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

matlab基础练习题(带答案)

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

MATLAB运算基础(第2章)答案

实验01讲评、参考答案 讲评 未交实验报告的同学名单 批改情况: 问题1: 不仔细,式子中出错。 问题2: 提交的过程不完整。 问题3: 使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。 问题4: 截屏窗口没有调整大小。

附参考答案: 实验01 MATLAB 运算基础 (第2章 MATLAB 数据及其运算) 一、实验目的 1. 熟悉启动和退出MATLAB 的方法。 2. 熟悉MATLAB 命令窗口的组成。 3. 掌握建立矩阵的方法。 4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1. 数学表达式计算 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 1.1 计算三角函数 12 2sin 851z e =+(注意:度要转换成弧度,e 2如何给出) 示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适 当调整窗口大小。 命令窗口中的执行过程: 《MATLAB 软件》课内实验 王平

1.2 计算自然对数 221 ln(1)2z x x =++,其中2120.45 5i x +??=??-??(提示:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。 应用点乘方) 命令窗口中的执行过程: 1.3 求数学表达式的一组值 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022 a a e e a z a a --+=++=--L 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 命令窗口中的执行过程:

第5章--MATLAB绘图-习题答案

第5章 MATLAB绘图 习题5 一、选择题 1.如果x、y均为4×3矩阵,则执行plot(x,y)命令后在图形窗口中绘制()条曲线。D A.12 B.7 C.4 D.3 2.下列程序的运行结果是()。A x=0:pi/100:2*pi; for n=1:2:10 plot(n*sin(x),n*cos(x)) hold on end axis square A.5个同心圆 B.5根平行线 C.一根正弦曲线和一根余弦曲线 D.5根正弦曲线和5根余弦曲线3.命令text(1,1,'{\alpha}+{\beta}')执行后,得到的标注效果是()。C A.{\alpha}+{\beta} B.{\α}+{\β} C.α+β D.\α+\β4.subplot(2,2,3)是指()的子图。A A.两行两列的左下图 B.两行两列的右下图 C.两行两列的左上图 D.两行两列的右上图 5.要使函数y=2e x的曲线绘制成直线,应采用的绘图函数是()。C A.polar B.semilogx C.semilogy D.loglog 6.下列程序的运行结果是()。B [x,y]=meshgrid(1:5); surf(x,y,5*ones(size(x))); A.z=x+y平面 B.与xy平面平行的平面 C.与xy平面垂直的平面 D.z=5x平面 7.下列函数中不能用于隐函数绘图的是()。D A.ezmesh B.ezsurf C.ezplot D.plot3 8.下列程序运行后,看到的图形()。C t=0:pi/20:2*pi; [x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);

matlab课后习题与答案

习题二 1.如何理解“矩阵是MATLAB最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 因此,矩阵是MATLAB最基本、最重要的数据对象。 2.设A和B是两个同维同大小的矩阵,问: (1)A*B和A.*B的值是否相等? 答:不相等。 (2)A./B和B.\A的值是否相等? 答:相等。 (3)A/B和B\A的值是否相等? 答:不相等。 (4)A/B和B\A所代表的数学含义是什么? 答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。 3.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。 答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5]) (2)删除矩阵A的第7号元素。 答:A(7)=[] (3)将矩阵A的每个元素值加30。 答:A=A+30; (4)求矩阵A的大小和维数。 答:size(A); ndims(A); (5)将向量t的0元素用机器零来代替。 答:t(find(t==0))=eps; (6)将含有12个元素的向量x转换成34 矩阵。 答:reshape(x,3,4); (7)求一个字符串的ASCII码。 答:abs(‘123’); 或double(‘123’); (8)求一个ASCII码所对应的字符。 答:char(49);

4. 下列命令执行后,L1、L2、L3、L4的值分别是多少? A=1:9;B=10-A;... L1=A==B; L2=A<=5; L3=A>3&A<7; L4=find(A>3&A<7); 答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0] L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0] L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0] L4的值为[4, 5, 6] 5. 已知 23100.7780414565532503269.5454 3.14A -????-??=????-?? 完成下列操作: (1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32?子矩阵构 成矩阵D ,B 与C 的乘积构成矩阵E 。 答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C; (2) 分别求E=10&A<25)。 答:E=10&A<25)=[1; 5]。 6. 当A=[34, NaN, Inf, -Inf, -pi, eps, 0]时,分析下列函数的执行结果:all(A), any(A),isnan(A),isinf(A),isfinite(A)。 答:all(A)的值为0 any(A) 的值为1 isnan(A) 的值为[0, 1, 0, 0, 0, 0, 0] isinf(A) 的值为[0, 0, 1, 1, 0, 0, 0] isfinite(A) 的值为[1, 0, 0,0, 1, 1, 1]

matlab答案

第一章 2.在命令窗口输入‘’w=3+2‘’,然后依次使用clear和clc命令,分别观察命令窗口、工作空间窗口和历史命令窗口的变化。 使用clear命令时,命令窗口无变化,工作空间窗口中的内容被删除,历史命令窗口多出一条命令记录。 使用clc命令时,命令窗口中的内容被删除,工作空间窗口无变化,历史命令窗口中多出一条命令记录 3.将硬盘上一已有目录,加入到搜索路径,并将其设置为当前工作目录。 File-set path-add folder-save 第二章 1.计算复数3+4i与5-6i的乘积。 a=3+4i b=5-6i c=a*b 2.构建结构体Students,属性包含Name、age和Email,数据包括{’Zhang’,18,*‘Zhang@16 https://www.doczj.com/doc/0f7552039.html,’,’Zhang@https://www.doczj.com/doc/0f7552039.html,’+}、{’Wang’,21,[]}和{’Li’,[],[]},构建后读取所有Name属性值,并且修改’Zhang’的Age属性值为19。 Students(1).Name='Zhang' Students(1).Age=18 Students(1).Email='Zhang@https://www.doczj.com/doc/0f7552039.html,','Zhang@https://www.doczj.com/doc/0f7552039.html,' Students(2).Name='Wang' Students(2).Age=21 Students(2).Email=[] Students(3).Name='Li' Students(3).Age=[] Students(3).Email=[] https://www.doczj.com/doc/0f7552039.html, Student(1).Age=19

Student(1).Age 3.用满矩阵和稀疏矩阵存储方式分别构造下属矩阵: A=[0 1 0 0 0;1 0 0 0 0;0 0 0 0 0;0 0 0 1 0] ; F=full(A) S=sparse(A) S=sparse([2,1,4],[1,2,4],[1,1,1],4,5) 4.采用向量构造符得到向量[1,5,9....,41]. A=1:4:41 5.按水平和竖直方向分别合并下述两个矩阵: A=[1 0 0;1 1 0;0 0 1],B=[2 3 4;5 6 7;8 9 10] A=[1 0 0;1 1 0;0 0 1] ; B=[2 3 4;5 6 7;8 9 10] ; C=[A B] D=[A;B] 6.分别删除第五题两个结果的第2行。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,:)=[] D(2,:)=[] 7.分别将第5题两个结果的第2行最后3列的数值改为[11 12 13]。 A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] C=[A B] D=[A;B] C(2,4:6)=[11 12 13] D(2,:)=[11 12 13] 8.分别查看第5题两个结果的各方向长度

MATLAB语言与控制系统仿真-参考答案-第5章

5.6 控制系统的时域响应MATLAB 仿真实训 5.6.1实训目的 1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法; 2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法; 3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法; 4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法; 5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。 5.6.2实训内容 1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。 162.316)(21++= s s s G 16 4.216 )(22 ++=s s s G 166.116)(2 3++=s s s G 1616 )(24++=s s s G 解:>> n1=16; >> d1=[1,3.2,16]; >> sys1=tf(n1,d1); >> step(sys1) >> n2=16; >> d2=[1,2.4,16]; >> sys2=tf(n2,d2); >> step(sys2)

>> n3=16; >> d3=[1,1.6,16]; >> sys3=tf(n3,d3); >> step(sys3) >> n4=16; >> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)

w=4; cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=3.5/(z1*w); [cmax1,tp1,ts1] ans = 1.2538 0.8569 2.1875 >> z2=0.3; w=4; cmax2=1+exp(-z2*pi/sqrt(1-z2^2)); tp2=pi/(w*sqrt(1-z2^2)); ts2=3.5/(z2*w); [cmax2,tp2,ts2]

matlab练习题和答案

matlab练习题和答案 控制系统仿真实验 Matlab部分实验结果 目录 实验一 MATLAB基本操 作 ............................................................................................ 1 实验二 Matlab编程 .................................................................................................... 5 实验三Matlab底层图形控制 (6) 实验四控制系统古典分析.............................................................................................12 实验五控制系统现代分析 . (15) 实验六 PID控制器的设 计 ...........................................................................................19 实验七系统状态空间设计.............................................................................................23 实验九直流双闭环调速系统仿真 . (25) 实验一 MATLAB基本操作 1 用MATLAB可以识别的格式输入下面两个矩阵 1233,,1443678,i,,,,2357,,,,2335542,i,,,, A,1357B,,,2675342, i,,3239,,,,189543,,,,1894,, 再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调 用相应的命令查看MATLAB工作空间的占用情况。 A=[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];

第2章MATLAB数据及其运算习题答案.doc

第2章 MATLAB数据及其运算 习题2 一、选择题 1.下列可作为MA TLAB合法变量名的是()。D A.合计B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。C A.+10 B.1.2e-5 C.2e D.2i 3.使用语句t=0:7生成的是()个元素的向量。A A.8 B.7 C.6 D.5 4.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。D A.所有元素B.第一行元素 C.第三行元素D.第三列元素 6.已知a为3×3矩阵,则运行a (1)=[]后()。A A.a变成行向量B.a变为2行2列 C.a变为3行2列D.a变为2行3列 7.在命令行窗口输入下列命令后,x的值是()。B >> clear >> x=i*j A.不确定B.-1 C.1D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。D A.34 B.354 C.453D.43 9.下列语句中错误的是()。B A.x==y==3 B.x=y=3 C.x=y==3 D.y=3,x=y 10.find(1:2:20>15)的结果是()。C A.19 20 B.17 19 C.9 10 D.8 9 11.输入字符串时,要用()将字符括起来。C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。A A.9 B.11 C.7 D.18

13.eval('sqrt(4)+2')的值是()。B A.sqrt(4)+2 B.4 C.2 D.2,2 14.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。D A.rmfield(student(1,2).scores(2)) B.rmfield(student(4).scores) C.student(4).scores(2)=0 D.student(1,2).scores(2)=[] 15.有一个2行2列的单元矩阵c,则c(2)是指()。B A.第一行第二列的元素内容B.第二行第一列的元素内容 C.第一行第二列的元素D.第二行第一列的元素 二、填空题 1.从键盘直接输入矩阵元素来建立矩阵时,将矩阵的元素用括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用分隔,不同行的元素之间用分隔。中括号,逗号或空格,分号 2.设A=[1,2;3,4],B=[5,6;7,8],则A*B= ,A.*B= 。 A*B=[19,22;43,50],A.*B=[5,12;21,32] 3.有3×3矩阵,求其第5个元素的下标的命令是,求其第三行、第三列元素的序号的命令是。[i,j]=ind2sub([3 3],5),ind=sub2ind([3 3],3,3) 4.下列命令执行后的输出结果是。20 >> ans=5; >> 10; >> ans+10 5.下列命令执行后,new_claim的值是。This is a great example. claim= 'This is a good example.'; new_claim=strrep(claim,'good','great') 三、应用题 1.命令X=[]与clear X有何不同?请上机验证结论。 Clear X是将X从工作空间中删除,而X=[]是给X赋空矩阵。空矩阵存在于工作空间中,只是没有任何元素。 2.在一个MA TLAB命令中,6 + 7i和6 + 7*i有何区别?i和I有何区别? 3.设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\A、A/B和B\A 的区别?如果A和B是两个标量数据,结论又如何? 4.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。 (2)删除矩阵A的第5号元素。 (3)求矩阵A的大小和维数。 2

matlab第五章课后答案

第一题:某河床的横截面积,为了计算最大的排洪量,需要计算他的横断面积,用梯形法计算其断面积。 >> x=[0 4 10 12 15 22 28 34 40]; y=[0 1 3 6 8 9 5 3 0]; trapz(x,y) ans = 178.5000 答:用梯形积分法求的其面积为178.5平方米。 第五题:求下列积分的数值解。 (2). e 2x 2π 0cos ?3x dx >>fun=inline('exp(2*x).*cos(x).^3'); >>quadl(fun,0,2*pi) ans = 9.7054e+004 答:所求积分的数值解为:9.7054*10^4。 (4) sinx x 10dx .>>fun=@(x)sin(x)./x; quadl(fun,1e-10,1) ans = 0.9461 答:所求积分的数值解为:0.9461. (6) dθ 2sinθ1 02π0

.>>fun=inline('sqrt(1+r.^2.*sin(th))','r','th'); dblquad(fun,0,1,0,2*pi) ans = 6.1879 答:所求积分的数值解为:6.1879. (7)1+x+y dydx,D为x2+y2≤2x .function s=dblquad2(fun,a,b,clo,dhi,n) ifnargin<6,n=100;end x=linspace(a,b,n+1); s=0; for i=1:n s=s+dblquad(fun,x(i),x(i+1),feval(clo,(x(i)+x(i+1))/2),feval(dhi,(x(i)+x(i+1))/ 2)); end >>clear; >>fun=inline('1+x+y.^2','x','y'); >>clo=inline('-sqrt(2*x-x.^2)'); >>dhi=inline('sqrt(2*x-x.^2)'); >>dblquad2(fun,0,2,clo,dhi,100) ans = 7.0705

相关主题
文本预览
相关文档 最新文档