matlab期末考试试卷
一、填空
(本题满分30分,每空3分)
1.设有程序
A=[2,0,1,0;1,0,1,5;0, 6 ,2, 3];B=[1,2,-1;1,3,1];C=A(1:3,[1,2]);
D=size(C)- length(B(2,:));F= C.*B’
将下列命令的运行结果填在横线上0*、0 D = ; F= .
2. A=[2,3,2,1;1,2,2,1; 1,2,3,-2];
A1=sum(A>A(2,1));A(2,:)=[],A2=A.^2-4
A1= ; A2= ; 3.P=[1,2,5,4;2,2,1,3];max(P,[ ],1)= ;mean(P,2)= .
4. 5.
x=0; n=1; a=[ ];
while n<6 for i=1:3;
x=n+x; for j=1:3;
n=n+1; a(i,j)=(i-j)*abs(i-j);
end end
x end
运行结果 b=a(8)*a
x= . . 运行结果
b= .
6. 7.
x=5,y=-20; function f=price(a)
if x<0 switch fix(a/100);
x=y-3 case {0,1,2}
else y= y+10; rate=0;
end otherwise
z=400*x-y rate=0.05
运行结果 end
z= . f=a*(1-rate)
运行结果
price (300)= .
二、(本题满分10分)试编写计算程序画出曲线与曲面图形
3,x,sint,(1).(0,t,2);,,3 ,y,cost,
222,x,y2(2).z,(x,1)e,xy,,2,x,2,,2,y,2.
%1 %2
t=0:0.1: 2*pi; [x,y]=meshgrid(-2:0.1:2); x= sin(t).^3; z=(x.^2+1).* exp(-x.^2- y.^2+)+x.^2.*y;
y= cos (t).^3; mesh(x,y,z) plot(x,y)
三、(本题满分12分)编写程序解决下列问题:
(1)试产生100,4阶矩阵使其元素在0—100之间的随机整数,可将此矩阵理解为100名同
学的四门课程(课程1, 课程2, 课程3, 课程4)的成绩.
(2)计算出每门课程和每位同学的平均成绩;
(3)统计出总的优秀人次(90分及以上为优秀);
(4)统计出四门课程成绩至少有两门课程不及格的人数.
解:(1) a=fix((100-0+1)*rand(100,4));
(2) mean(a) mean(a,2)
(3)sum(sum(a>=90,2)==4)
(4)sum(sum(a<60,2)>=2)
四、(本题满10分)
,1kn(,1)设f(x),sinkx,,k,1k
(1)试编写#
数#式文件程序返回该函数并保存;
(程序的第一句为:functiony,fun1(x,n))
(2)用子图画出该函数在[0,2,]内图形(分别取n,20,50).
(1). function y=fun1(x,n) (2). x=0:0.1:2*pi; y=0; y1= fun1 (x,20); for k=1:n y2= fun1 (x,50);
y=y+ ((-1)^(k+1)*sin(k*x))/k; subplot(2,1,1),plot(x,y1)
end subplot(2,1,2),plot(x,y2) y
五、(本题满分10分)
试利用微分方程的数值解法写出下列微分方程的求解步骤和MATLAB程序.
,,,,.(t的变化区间为[0,10]). x,3tx,x,t,x(0),2,x(0),0
第一步:先将高阶微分方程转化为一阶微分方程组:
,选择状态变量,则原方程化为 x,x,x,x12
,x,,3tx,x,t,,112 x(0),0,x(0),2,12,x,x.21,
第二步:建立函数文件fun2.com
function dxdt = fun2(t,x)
dxdt = [-3*t*x(1)+ x(2)+t; x(1)];
第三步:求解微分方程,命令如下:
[t,x]=ode45(@fun2,[0,10],[0;2])
、六运用符号运算功能计算下列各题,:
x21.求方程2的根;e,x,
xsinxlnx,,dA 21,,2.生成符号矩阵A,,并计算,A(x)dx,A;,x,edx,,s,x,,
cosx,cosx3.计算极限lim;sinxx,0x(e,x)
(4)t,,,,,, 4.用dsolve函数求解微分方程x,x,2e,x(0),x(0),x(0),x(0),1的解六、参考程序:
1( solve('exp(x)=x^2+2')
2(syms x s
A=[x*sin(x),log(x);exp(-x),1/(s+x)]
diff(A)
int(A)
A*A
3(syms x
limit((cos(x)-cos(x)^(1/2))/x/(exp(sin(x))-1))
4(dsolve('D4x+x=2*exp(t)','x(0)=1','Dx(0)=1','D2x(0)=1','D3x(0)=1')
七.用fsolve函数以及符号运算功能求解下面的非线性方程组:
22 ,4x,x,2xx,x,2,0,12122,22,2x,x,3xx,3,01212,
解一:function y=fc(x)
y(1)=4*x(1).^2+x(2).^2+2*x(1).*x(2)-x(2)-2 y(2)=2*x(1).^2+x(2).^2+3*x(1).*x(2)-3 y=[y(1) y(2)];
x0=[1 1];
fsolve(@fc,x0)
解二: syms x1 x2
[x1 x2]=solve(‘4*x1^2+ x2^2+2* x1* x2- x2-2=0’,’ 2*x1^2+ x2^2+3* x1* x2-3=0’,’ x1’,’ x2’)
《MATLAB程序
》参考程序 一、 (30分)
1(
D =
0 -1
F =
2 0
2 0
0 6
2(
A1 =
1 3 3 0
A2 =
0 5 0 -3
-3 0 5 0
3(
max(P,[ ],1)=
2 2 5 4
mean(P,2)=
3
2
4(
x=15
5(
b =
0 1 4
-1 0 1
-4 -1 0 6(z =2010
7(285
二、(10分)
%1
t=0:0.1: 2*pi;
x= sin(t).^3;
y= cos (t).^3;
plot(x,y)
%2
[x,y]=meshgrid(-2:0.1:2);
z=(x.^2+1).* exp(-x.^2- y.^2+)+x.^2.*y; mesh(x,y,z)
三、(16分)
%1
syms x
limit((x-1)*log(x)/(exp(x-1)-1),x,1) %2
solve('exp(x)-3*cos(x)+1=0') %3
syms x
M=[ exp(-x), x;sin(x),exp(-0.1*x)* cos(3*x)]
diff(M,2)
int(M,x,0,pi)
%4 syms t x
dsolve('Dx-6*x=exp(-t) ','x(0)=1')
四、(12分)
x=0.5:9.5;
y=[ 0.16, 0.40, 0.66, 0.75, 0.88, 1.0, 1.1, 1.1, 1.2, 1.3];
x1=1./x;y1=1./y;
p=polyfit(x1,y1,1);
a=p(2); b= p(1);
ye=x./(a*x+b);
plot(x,y,'ro', x, ye, 'b-') grid on
xlabel('自变量x ')
ylabel('因变量y ')
title('因变量 y与自变量 x的拟合曲线图')
五、(12分)
%参考程序
cj=round(normrnd(70,10,100,4)); for i=1:100
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%7d%8d%8d ' ,kmean(1),kmean(2),kmean(3),kmean(4)))
studentmean=round(mean(cj,2));
studentnumber=[1:100]';
[studentnumber, studentmean] c=sum(sum(cj>=90))
d=sum(sum(cj<60,2)>=2)
六、(10分)
(1). function y=fun1(x,n) y=0;
for k=1:n
y=y+ ((-1)^k*sin(k*x))/k; end
y
(2). x=0:0.1:2*pi;
y1= fun1 (x,20);
y2= fun1 (x,50);
subplot(211),plot(x,y1) subplot(212),plot(x,y2) 七、(10分)
第一步:先将高阶微分方程转化为一阶微分方程组: 选择状态变量,,则原方程化为 x,x,x,x12
,x,,3tx,x,t,,112 x(0),0,x(0),2,12,x,x.21,
第二步:建立函数文件fun2.com
function dxdt = fun2(t,x) dxdt = [-3*t*x(1)+ x(2)+t; x(1)];
第三步:求解微分方程,命令如下:
[t,x]=ode45(@fun2,[0,10],[0;2])