matlab复习题3标准答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
yπ
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)