《MATLAB原理与应用》机考试卷(2012秋 - 南京师范大学泰州学院院 - 期末 - B)

发布时间:2015-01-03 20:26:01   来源:文档文库   
字号:

南京师范大学泰州学院20122013学年度第 学期

信院 通信专业10级《MATLAB原理与应用》期末机考试卷 B

姓名: 学号: 成绩:

一、完成下列各题 (每题8分,共40分)

1. 在值域区间 [1, 20] 上产生一个具有13元素的一维数组A要求各元素的值之间等间距,请用两种不同的指令实现。然后根据A得到另一个一维数组BBA的第39个元素所构成。

>> 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得到两个矩阵BC,即:一个对角矩阵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×4magic矩阵、一个单元是自己名字的字符串、一个单元是一个复数。取出内容是复数的这个单元,赋值给变量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的取值范围为04两条曲线绘在同一幅图中,其中第一条曲线采用蓝色实线、点的形状用方形,第二条曲线采用红色虚线、点的形状用上三角;将原始图线复制并粘贴。

2设定坐标轴范围:横坐标,纵坐标

3)图形加标题“两条曲线”x坐标轴标注为t (04)y坐标轴标注为f1f2

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. 设数学函数为,试用两种方法(即用meshezmesh两种指令)绘制函数的三维网格图,图形绘制区域在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分)

clear
t=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)])
end
end

disp(['素数:',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

《《MATLAB原理与应用》机考试卷(2012秋 - 南京师范大学泰州学院院 - 期末 - B).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式