matlab复习题3标准答案

  • 格式:doc
  • 大小:48.50 KB
  • 文档页数:5

下载文档原格式

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

一、填空题

1.x在[-pi,pi]之间取12个点时请用冒号表达式和linspace命令分别表示为

x=-pi:2*pi/11:pi 和x=linspace(-pi,pi,12) 。

2. MATLAB命令窗口中可用clc 命令清除屏幕上的数据。

3. MATLAB中log10(90)表示为log10(90)。

4 .MATLAB中如果一个变量名为123,该变量名是否合法否(填是或否)。

5.求[10,1000]之间能被12整除的数的个数,补充完整程序:x=10:1000;

a=rem(x,12);length(find(a= =0))

6. MATLAB中求e x 的命令是exp(x)。

7. 已知矩阵A,将矩阵A转置可表示为A’。

8. MATLAB中的自定义函数文件即function开头的文件是否能直接debug

否。(填是或否)

二、编程题

1、创建下面的矩阵并完成以下操作。

a=[15 3 22;3 8 5;14 3 82] b=[1;5;6] c=[12 18 5 2] (1)用矩阵a的第三列组成一个新矩阵d。

d=a(:,3)

(2)把矩阵b和d合并成一个三行两列的二维矩阵e。

e=[b,d]

(3)把矩阵b和d合并成一个六行一列的矩阵f。

f=[b;d]

(4)将矩阵c作为前三个元素,与矩阵a组成一个四行三列的矩阵g。

g=[c(:,1:3);a]

(5)创建一个矩阵h,它的第一个元素是是a1,3第二个原素c1,2

h=[a(1,3),c(1,2)]

(6)将a矩阵变成一个列向量x

a(:)

2、绘图(编程)

(1)绘曲线

将matlab绘图窗口分割为二个区域,在上区域绘出y1曲线, 在下区域绘出y2曲线,y1为红色,y2为蓝色,步距0.01。

xe

=-x

y x]2,2

12∈

]5,0[

,

=x

x

2-

cos(

[

5

),

3

x1=0:0.01:5;

x2=-2:0.01:2;

y1=x1.*exp(-2*x1);

y2=5*cos(3*pi*x2);

subplot(2,1,1)

plot(x1,y1,'r')

subplot(2,1,2)

plot(x2,y2,'b')

00.51 1.52 2.53 3.54 4.55

00.05

0.1

0.15

0.2

-2-1.5-1-0.500.51 1.52

-50

5

(2) 绘饼图

某班有50名学生,进行英语考试,考试成绩为: 优秀8人,良好14人,中等20人,及格5人,不及格3人,试绘该班英语考试成绩分布的三维饼图,将优秀块及不及格块分离。(注意,请利用doc 或者help 命令查看饼图命令的用法) x=[8 14 20 5 3]

g=[1 0 0 0 1]

pie3(x,g)

3、a=[9 2 6 4 5],

b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).

试用另外一种方法计算b 。

c=fliplr(a)

b=a.*c

Sum(b)

4、 用命令产生矩阵

1010200400020040002004⨯⎪⎪⎪⎪⎪⎭⎫ ⎝⎛ 2004*eye(10)

5.根据要求完成以下操作

(1)输出100到150之间的第一个能被 7 整除的整数;

x=100:150 ;a=rem(x,7); b=find(a==0) ;c=x(b(1))

(2)计算100到150之间的能被 7整除的所有整数的个数。 d=length(b)

6、符号表达式的运算。(1)编程解方程03=+-c bx ax (2)编程求微分与积分,

2

3cy bxy ax f +-=,求33,y f x f ∂∂∂∂,⎰fdx ,⎰-22fdx (1)solve('a*x^3-b*x+c')

(2) diff(sym('a*x^3-b*x*y+c*y^2'),'x')

diff(sym('a*x^3-b*x*y+c*y^2'),'x')

int(sym('a*x^3-b*x*y+c*y^2'),'x') nt(sym('a*x^3-b*x*y+c*y^2'),'x'-2,2)

7.根据1

21.......7151311-+++++=n y (1)当n=100时,请分别用for 结构和while 循环结构求y 的值。 n=100;

y=0;

for k=1:n

y=y+1/(2*k-1);

end

y

n=100;

y=0;

k=0;

while k

k=k+1;

y=y+1/(2*k-1);

end

y

(2)创建自定义函数文件,函数名为fat ,给出调用命令n=10的时候,得到的y 的值。

function y=fat(n)

y=0

for k=1:n

y=y+1/(2*k-1)

end

fat(10)