安徽农业大学2006―2007学年第二学期 《MATLAB 语言程序设计》试卷(A 卷)
考试形式: 闭卷笔试,2小时
适用专业: 05级通信工程、电子信息工程
一、填空题(本题满分30分,每空3分)
1. 设有程序
A=[1,2,3,4;4,3,2,1;1, -2 ,1, -2];B=[3,1,-1;0,4,2];A1=A(:,[1 3]); M=size(A1)+ length(B(:,2))
将下列命令的运行结果填在横线上
M= ;A1+B' = .
2. A=[1,2,3,4;2,3,4,5;3,4,5,6];
A1=sum(A<4,2);A([2,3],:)=[],A2=A
A1=
; A2= ;
3.P=[1,2,3,4;3,0,1,2];max(P)= ;mean(P,2)=
院: 专业班级: 姓名: 学号:
装 订 线
二、(本题满分12分)试编写计算程序
V;
与特征向量
U
的特征值
B
2
A
求
(4).
E;
5
B
A
2B
BX
解矩阵
.
(3)
);
A
B)
(B(A
R
R
的秩
A
(2).
|;
B)
2
B)(A
(A
|
D
(1).
,
6
2
1
5
7
2
,
2
1
5
1
2
3
3
2
1
1
1
+
+
=
+
=
+
-
=
⎪
⎪
⎪
⎭
⎫
⎝
⎛
-
=
⎪
⎪
⎪
⎭
⎫
⎝
⎛
=
-
-
T
T
T
B
A
方程
设
三、(本题满分8分)
的程序组写出求解超定线性方程⎪⎪⎩⎪⎪⎨
⎧=++-=++=--=++1
21212:321
321321
321x x x x x x x x x x x x
四、(本题满分16分)运用符号运算功能写出下列各题Matlab 程序
解求方程03.12=-x e x
Adx dx A d x wx x x xe A x ⎰⎥⎦
⎤⎢⎣⎡=-1
022,,cos )sin(sin .2并计算
生成符号矩阵
3. 解求微分方程t x x x sin 23=+'-''
4. ).()(,)(2s F Laplace t f te t f t 变换函数的求设-=
五、(本题满分12分)
下列这组数据是美国1900—2000年人口的近似值(单位:百万)。
(1) 若.bt ae y t y =的经验公式为与试编写程序计算出上式中的a 、b ; (2) 画出数表中的散点图(红色圆圈o ),以及拟合曲线图.bt
ae y = (蓝色实心线).
(3) 图形标注要求:无网格线,横标注“时间t ”,纵标注“人口数(百万)”,图
形标题“美国1900—2000年的人口数据”。
六、(本题满分12分)
编写程序解决下列问题:
(1)试产生80 4阶矩阵使其元素在0—100之间的整数并服从正态分布N (10,102 ),可将此矩阵理解为80名同学的四门课程(课程1, 课程2, 课程3, 课程4)
的成绩.
(2)计算出各门课程的平均成绩以及各名同学的平均成绩;
(3)统计出总的补考人次(60分以下为不及格需要补考);
(4)统计出四门课程成绩至少有三门课程小于60分的人数.
七、(本题满10分)
).
20,10(]4,0[)2())
,(:(;)1(,
12)12sin()(1
==--=∑
=n n x fourier y function k x
k x f n
k 分别取内图形用子图画出该函数在程序的第一句为返回该函数并保存试编写函数式文件程序设π
《MATLAB语言程序设计》参考程序
一、(30分)
1.M = 5 4
A1+B' =
4 3
5 6
0 3
2.
A1 =
3
2
1
A2 =
1 2 3 4
3.
max(P)=[ 3 2 3 4]
mean(P,2)=[2.5;1.5]
4.
y=20
5.
a =
0 1 2
0 2 4
0 0 6
6.
b =
90 80 70 65 80
7.228
二、(12分)
A=[1 2 3;3 2 1;5 1 2]
B=[2 0 0;7 5 0; 1 2 -6]
D=det((A'-B)*inv(A+2*B)) %(1)
R=rank(B*(A+B)* A') %(2)
X=pinv(B)*(2*B'*inv(A)*B+5*eye(3)) %(3)
[V,U]=eigs(A+2*B) %(4)
三、(8分)
A=[1,1 ,1;1,-1,-1;1,2,1;1,1,2];
b=[2,1,-1,1]'
x=pinv(A)*B
四、(15分)
%1
solve('exp(x)-3*x^2=0')
%2
syms x w
A=[x*exp(-x),x^2*sin(x);sin(w*x),cos(x)]
diff(A,x,2)
int(A,x,0,1)
%3
syms t x
dsolve('D2x-3*Dx+2*x=sin(t) ')
%4
syms t
f= t*exp(-2*t)
laplace (f, 's')
五、(10分)
t=[1900:10:2000];
y=[76 92106123132151179203227250281]; y1=log(y);
A=[ones(11,1),t']
B=A\y1';
a=exp(B(1))
b=B(2)
ye=a*exp(b*t);
plot(t,y,'ro', t, ye, 'b-')
grid off
xlabel('时间t')
ylabel('人口数(百万)')
title('美国1900—2000年的人口数据')
六、(12分)
%参考程序
cj=round(normrnd(70,10,80,4));
for i=1:80
for j=1:4
if cj(i,j)>100 cj(i,j)=100;
elseif cj(i,j)<0 cj(i,j)=0;
end
end
end
kmean=round(mean(cj))
disp('课程1 课程2 课程3 课程4')
disp(sprintf(' %4d%8d%8d%8d' ,kmean(1),kmean(2),kmean(3),kmean(4))) studentmean=round(mean(cj,2));
studentnumber=[1:80]';
[studentnumber, studentmean]
c=sum(sum(cj<60))
d=sum(sum(cj<60,2)>=3)
七、(10分)
(1).function y=fourier(x,n)
y=0;
for i=1:n
y=y+sin((2*i-1)*x)/(2*i-1);
end
y
(2).x=0:pi/20:4*pi;
y1=fourier(x,10);
y2= fourier(x,20);
subplot(211),plot(x,y1)
subplot(212),plot(x,y2)。