南京师范大学泰州学院2012—2013学年度第 一 学期
信院 通信专业10级《MATLAB原理与应用》期末机考试卷 B 卷
姓名: 学号: 成绩:
一、完成下列各题 (每题8分,共40分)
1. 在值域区间 [1, 20] 上产生一个具有13个元素的一维数组A,要求各元素的值之间等间距,请用两种不同的指令实现之。然后根据A得到另一个一维数组B:B是A的第3~9个元素所构成。
>> A=linspace(1,20,13)
A =
Columns 1 through 5
1.0000 2.5833 4.1667 5.7500 7.3333
Columns 6 through 10
8.9167 10.5000 12.0833 13.6667 15.2500
Columns 11 through 13
16.8333 18.4167 20.0000
>> B=A(3:9)
B =
4.1667 5.7500 7.3333 8.9167 10.5000 12.0833 13.6667
2. 产生一个3×3大小的二维随机矩阵A,然后根据A得到两个矩阵B和C,即:一个对角矩阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同。
>> A=rand(3,3)
A =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
>> A1=diag(A)
A1 =
0.9501
0.8913
0.8214
>> B=A1
B =
0.9501
0.8913
0.8214
>> A(1,1)=0
A =
0 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
>> A(2,2)=0
A =
0 0.4860 0.4565
0.2311 0 0.0185
0.6068 0.7621 0.8214
>> A(3,3)=0
A =
0 0.4860 0.4565
0.2311 0 0.0185
0.6068 0.7621 0
>> C=A
C =
0 0.4860 0.4565
0.2311 0 0.0185
0.6068 0.7621 0
3. 已知两个多项式,,
(1) 计算和;(2)计算的值;(3)计算的全部根。
>> P=[1 -3 2 0 7 -5];
>> y1=poly2sym(P)
y1 =
x^5-3*x^4+2*x^3+7*x-5
>> P2=[2 3 -1];
>> y2=poly2sym(P2)
y2 =
2*x^2+3*x-1
>> J=y1.*y2
J =
(x^5-3*x^4+2*x^3+7*x-5)*(2*x^2+3*x-1)
>> Cha=y2-y1
Cha =
2*x^2-4*x+4-x^5+3*x^4-2*x^3
>> polyval(P,-1)
ans =
-18
>> roots(P)
ans =
1.8945 + 0.8888i
1.8945 - 0.8888i
-0.7421 + 1.0448i
-0.7421 - 1.0448i
0.6952
4. 创建一个2×2大小的单元数组:其中一个单元是1×3的全0矩阵、一个单元是4×4的magic矩阵、一个单元是自己名字的字符串、一个单元是一个复数。取出内容是复数的这个单元,赋值给变量x,求x的幅值和相位。
>> D=cell(2,2)
D =
[] []
[] []
>> A={zeros(1,3)}
A =
[1x3 double]
>> D(1,1)=A
D =
[1x3 double] []
[] []
>> A1={magic(4)}
A1 =
[4x4 double]
>> A2={['xieqiuyue']}
A2 =
'xieqiuyue'
>> A3={complex(3,5)}
A3 =
[3.0000+ 5.0000i]
>> D(1,2)=A1
D =
[1x3 double] [4x4 double]
[] []
>> D(2,1)=A2;
>> D(2,2)=A3
D =
[1x3 double] [4x4 double]
'xieqiuyue' [3.0000+ 5.0000i]
>> X=A3{1}
X =
3.0000 + 5.0000i
>> a=real(X)
a =
3
>> b=imag(X)
b =
5
>> fz=sqrt(a^2+b^2) %幅值
fz =
5.8310
>> xw=tan(b/a)
xw = %相位
-10.3988
5. 计算下列表达式:
(1);
>> syms x n b
>> F=(x^(n/2)-b^(n/2))/(x-b)
F =
(x^(1/2*n)-b^(1/2*n))/(x-b)
>> limit(F,x,b)
ans =
limit((x^(1/2*n)-b^(1/2*n))/(x-b),x = b)
(2),求y的一阶和二阶导数y'、y'';
>> Y=3*x^4-2*x^2+cos(x)+exp(x)
Y =
3*x^4-2*x^2+cos(x)+exp(x)
>> diff(Y) %一阶导数
ans =
12*x^3-4*x-sin(x)+exp(x)
>> diff(Y,2) %二阶导数
ans =
36*x^2-4-cos(x)+exp(x)
二、绘图题 (30分)
1. 在图上绘制两条曲线,第一条曲线为,第二条曲线为,要求: (20分)
1)的取值范围为0~4,两条曲线绘在同一幅图中,其中第一条曲线采用蓝色实线、点的形状用方形,第二条曲线采用红色虚线、点的形状用上三角;将原始图线复制并粘贴。
2)设定坐标轴范围:横坐标,纵坐标;
3)图形加标题“两条曲线”,x坐标轴标注为“t (0~4)”,y坐标轴标注为“f1和f2”;
4) 给图形加网格和图例。
>> t=[0:0.1:4];
>> y1=t.^2-5*t+4;
>> y2=cos(3*pi*t)+4*sin(pi*t);
>> plot(t,y1,'b-s')
>> hold on
>> plot(t,y2,'r--^')
>> grid
2. 设数学函数为,试用两种方法(即用mesh和ezmesh两种指令)绘制函数的三维网格图,图形绘制区域在XY平面内设定为区域[-6, 6]×[-6, 6]。 (10分)
>> x=[-6:0.1:6];
>> y=[-6:0.1:6];
>> z
z =
(2*cos((x^2+y^2)^(1/2))-sin((x^2+y^2)^(1/2)))/(1+(x^2+y^2)^(1/2))
>> subplot(1,2,1),ezmesh(z,30)
>> subplot(1,2,2),mesh(x,y,z)
三、编程题 (30分)
1. 求间所有素数(只能被1和自身整除的自然数叫素数)之和。(10分)
cleart=1;for i=1:5000 for j=1:i if (round(i/j)==(i/j)&j~=1&j~=i) break end end if j==i s(t)=i; t=t+1; %disp(['素数:',num2str(i)]) endenddisp(['素数:',num2str(s)])
2. 有一天早晨小猴摘下了若干个桃子,当天上午吃掉了一半,还觉得不过隐,下午又多吃了2 个。第二天接着吃下剩下的一半,又多吃了2 个。以后每天都是吃掉尚存的一半零两个。到第十天上午,小猴准备吃桃子时,看到只剩下n 个桃子了。问小猴第一天共摘下多少个桃子? (20分)
1) 写出求解小猴第一天共摘下多少个桃子的数学表达式;
2) 根据确定的数学表达式,利用matlab 编写出一个函数文件用于求解;
a1=(a2+2)*2=2[(a3+2)2+2]=2^2*a3+2^3+2^2=2^3*a4+2^4+2^3+2^2=...=2^9*a10+2^10+2^9+2^8+2^7+2^6+2^5+2^4+2^3+2^2=2^9*n+4*(1-2^9)/(-1)=2^9*n+2044
display('Please input the value of n'); n=input('n='); for i=1:9; n=(n+2)*2; end m=n
保存为m文件,然后再在命令窗口运行就可以
3) 再编写一个命令文件(脚本文件),完成输入一个n 值,然后调用上述函数求解,并将结果输出显示出来。
本文来源:https://www.2haoxitong.net/k/doc/0f49e599856a561252d36fdb.html
文档为doc格式