MATLAB09年试题加答案.docx

上传人:b****7 文档编号:11297519 上传时间:2023-02-26 格式:DOCX 页数:26 大小:107.49KB
下载 相关 举报
MATLAB09年试题加答案.docx_第1页
第1页 / 共26页
MATLAB09年试题加答案.docx_第2页
第2页 / 共26页
MATLAB09年试题加答案.docx_第3页
第3页 / 共26页
MATLAB09年试题加答案.docx_第4页
第4页 / 共26页
MATLAB09年试题加答案.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

MATLAB09年试题加答案.docx

《MATLAB09年试题加答案.docx》由会员分享,可在线阅读,更多相关《MATLAB09年试题加答案.docx(26页珍藏版)》请在冰豆网上搜索。

MATLAB09年试题加答案.docx

MATLAB09年试题加答案

西安电子科技大学

考试时间90分钟

2009年MATLAB语言试题

题号

总分

分数

1.考试形式:

闭卷;2.本试卷共七大题,满分100分;3.答案写在试卷上

班级学号姓名任课教师

一、基本知识填空题(每空1分,共20分)

1.MATLAB的通用命令中列出内存中的变量目录可用whos命令;若对函数功能和用法不熟悉,可用help命令;显示变量、阵列或文本时,可用

disp命令;清除工作空间中的变量时,可用clear命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用save和load命令。

2.在MATLAB图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用gridon命令,如果需要在指定的坐标位置标注文本时使用的函数为text,需要绘制多条曲线,保持当前图形窗口可使用holdon命令。

3.用MATLAB绘制条形图时可使用bar(barh)函数,绘制柱状图,用以表示数据值的分布情况时可使用hist函数。

4.MATLAB中用于控制不定次重复循环语句为while(whileend),若在循环执行过程中需要终止该循环时采用的语句为break。

5.对于MATLAB中的多维阵列,在保持所有元素个数和内容不变的前提下可以使用reshape函数改变其尺寸和维数;利用cell函数可以定义单元阵列。

6.在MATLAB中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单位阵可用eye函数,产生对角阵可用diag函数,产生均匀分布的随机阵可用rand函数。

在MATLAB中,将含有小数的数值转换成字符串可用num2str命令,在字符串中查找子字符串可用findstr命令.

 

二、选择题(每题4分,共20分)

1.设A=[243;531;367],则sum(A),length(A)和size(A)的结果(D)

A.[101311]9[33]B.[9916]3[33]

C.[9916]9[33]D.[101311]3[33]

2.下列关于脚本文件和函数文件的描述中不正确的是(B)

A.去掉函数文件第一行的定义行可转变成脚本文件;

B.函数文件可以在命令窗口直接运行;

C.脚本文件可以调用函数文件;

D.函数文件中的第一行必须以function开始;

3.在CommandWindow窗口中分别输入下列命令,对应输出结果错-误的是(C)

A.x=[-3:

2]x=[-3-2-1012]B.x=zeros(1,2);x>0ans=[00]

C.y=diag(eye(3),2).’y=[00]true :

y=0D.3-2*rand(1,2)ans=[1.09972.5377]

4.对于矩阵B,统计其中大于A的元素个数,可以使用的语句是(B)

A.length(B)-length(find(B<=A))B.sum(sum(B>A))

C.length(sum(B>A))D.sum(length(B>A))

5.已知str1=’find’,str2=’fund’,str3=’Ilikeyou’,有:

k1=sum(str1==str2),k2=sum(strrep(str1,’i’,’u’)==str2),k3=findstr(str3,’ke’),则k1,k2,k3的结果分别为:

(B)

A.3,3,5B.3,4,5C.4,3,5D.3,4,6

三、程序填空(每空2分,共12分)

1.编写MATLAB程序,用三阶多项式来拟合数据,在同一图形窗口中绘制拟合前和拟合后两条曲线,并对图形坐标轴进行控制。

程序如下:

x=[1,2,3,4,5];y=[5.1,6.2,7.0,8.2,9.3];

%采用三阶多项式拟合

x2=1:

0.1:

5;

y2=;%拟合后的曲线

figure

(1)

plot(x,y,’o’,x2,y2);%绘制曲线

m1=max([y,y2]);m2=min([y,y2]);

;%用axis调制坐标轴,横坐标在[06]之间,且完全显示图形

;%加上标题“多项式曲线拟合”

2.编写MATLAB程序,对于用户输入的向量或矩阵,计算其平均值:

%提示输入数据并保存到x中,命令行显示“请输入数据”

y=reshape(x,1,prod(size(x)));

m=average(y);%计算均值m

四、(8分)为解下列线性方程组,请写出MALAB语言程序。

4x1+2x3+3x4=9

3x2+2x3+3x4=8

2x1+x4=10

x3-2x2+3x4=7

[x1,x2,x3,x4]=solve(‘4*x1+2*x3+3*x4-9’,’3*x2+2*x3+3*x4-8’,’2*x1+x4-10’,’x3-2*x2+3*x4-7’)

 

五、(10分)利用menu函数输入选择参数len,输入菜单的名称为“selectannum”,根据len的取值分别给变量x赋不同的值。

当len=1时,x的值为的值为4行3列全0矩阵;当len=2时,x的值为3行4列全为5的矩阵;当len=3时,x的值为5行3列均值为0,方差为1的正态分布的随机矩阵;当len=4时,x的值为字符串“notanarray”;当len为其它值时,则显示“Error”。

要求使用switch函数。

Switch(len)

Caselen=1

 

六、(15分)某混合信号有2个不同频率的确知信号,加上正态分布的随机噪声构成,噪声功率为4,2个确知信号分别为:

,其中信号频率分别为

Hz、

Hz,采样频率为

Hz,采样点128点,即n=0,1,2,…,127。

编程完成以下内容:

(1)求出信号的频谱(用到的函数有fft和abs)。

(2)以图形的方式比较信号波形和信号频谱,要求把图形窗口分成2个子窗口,分别画出:

时域信号波形(横坐标为“Time”,纵坐标为“amplitude”,标题为“信号时域与频域波形”)、信号频谱(横坐标为“frequency(Hz)”,纵坐标为“frequencyspectral”)。

 

七、(15分)某宿舍有4名同学期末考试的成绩为下表所示:

姓名(name)

liwei

wangjun

liuzhi

zhanglin

课程及成绩

英语(eng)

85

83

80

90

物理(phy)

75

84

69

75

数学(math)

78

92

77

81

计算机(computer)

83

87

82

78

编程完成以下内容:

(1)基于表格内容构建结构阵列,结构名为student。

对每名同学成绩按学分加权求出综合测评分。

其中eng(英语)、物理(phy)、math(数学)的学分分别为3452,综合测评分的计算公式如下:

为课程成绩,

为相应的学分,

,n为成绩个数。

(2)基于表格内容构建单元阵列,单元阵列名为student1,单位阵列中每一行保存一个学生的信息,包括学生姓名和学生各门课成绩。

通过访问单元阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的单元阵列。

最终得到的单元阵列格式为:

姓名成绩平均分

学生1

学生2

学生3

学生4

一、基本知识填空题(每空1分,共20分)

1、whoshelpdispclearsaveload

2、gridontextholdon

3、bar(或barh)hist

4、while(whileend)break

5、reshapecell

6、eyediagrand

7、num2strfindstr

二、选择题(每题4分,共20分)

DBCBB

三、程序填空题(每空2分,共12分)

①p=polyfit(x,y,3)

②y2=polyval(p,x2)

③axis([06m2m1])

④title(‘多项式曲线拟合’)

⑤x=input(‘请输入数据\n’)或x=input(‘请输入数据’)

⑤m=mean(y)

四、(8分)

A=[4023;0323;2001;0-213;];%3分

b=[98107]';%2分

x=A\b;或x=inv(A)*b;%3分

另一种答案:

A=[4020;030-2;2201;3313];%3分

b=[98107];%2分

x=b/A;或x=b*inv(A);%3分

 

五、(10分)

len=menu('selectanum','1','2','3','4','5');%3分

switchlen%switch语句格式写对2分

case1

y=zeros(4,3);%1分

case2

y=5.*ones(3,4);%1分

case3

y=5+randn(5,3);%1分

case4

y=’notanarray’;%1分

otherwise

disp(‘Error’)%1分

end

六、(15分)某混合信号有2个不同频率的确知信号,加上正态分布的随机噪声构成,噪声功率为4,2个确知信号分别为:

,其中信号频率分别为

Hz、

Hz,采样频率为

Hz,采样点128点,即n=0,1,2,…,127。

编程完成以下内容:

(1)求出信号的频谱(用到的函数有fft和abs)。

(2)以图形的方式比较信号波形和信号频谱,要求把图形窗口分成2个子窗口,分别画出:

时域信号波形(横坐标为“Time”,纵坐标为“amplitude”,标题为“信号时域与频域波形”)、信号频谱(横坐标为“frequency(Hz)”,纵坐标为“frequencyspectral”)。

 

六、(15分)

f1=2;f2=5;fs=20;n=0:

127;%1分

s1=10*sin(2*pi*f1*n/fs);%1分

s2=5*sin(2*pi*f2*n/fs);%1分

noise=2*randn(size(n));%2分

s=s1+s2+noise;%1分

s_f=fft(s);%1分

m_f=abs(s_f);%1分或m_f=abs(fft(s))%2分

f=(0:

length(s_f)-1)*fs/length(s_f)或f=n*fs/length(n)%2分

figure

(1);

subplot(2,1,1);plot(n,s);%1分

title(‘信号时域与频域波形’);%1分

xlabel(‘Time’);ylabel(‘amplitude’);%1分

subplot(2,1,2);plot(f,m_f);%1分

xlabel(‘frequency(Hz)’);ylabel(‘frequencyspectral’);%1分

七、(15分)

%构建结构阵列3分,也可用赋值语句逐个赋值

student=struct('name',{'liwei''wangjun''liuzhi''zhanglin'},...

'eng',{[85757883],'phy'[83849287],'math'[80697782],'computer'[90758178]});

%加权求平均,%7分

w=[3452];

w=w/sum(w);

student_num=length(student);

syn_score=zeros(1,student_num);

fori=1:

student_num

syn_score(i)=student(i).eng*w

(1)+student(i).phy*w

(2)...

+student(i).math*w(3)+student(i).computer*w(4);

end

构建单元阵列%3分

student1={'liwei',[85757883];'wangjun',[83849287];'liuzhi',[80697782];'zhanglin',[90758178]};

fori=1:

length(student1)

student1{i,3}=mean(student1{i,2});%更新正确2分

end

西安电子科技大学

考试时间90分钟

2009年MATLAB语言试题

题号

总分

分数

1.考试形式:

闭卷;2.本试卷共七大题,满分100分;3。

答案全部写在答题纸上。

班级学号姓名任课教师

二、基本知识填空题(每空1分,共20分)

7.MATLAB的通用命令中若对函数功能和用法不熟悉,可用命令;显示变量、阵列或文本时,可用命令;清除工作空间中的变量时,可用命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用和命令。

8.MATLAB系统提供了两个重要部件:

和,它们在系统和用户编程中,占据重要的地位。

9.在MATLAB中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单位阵可用函数,产生全0阵可用函数,产生全1阵可用函数,产生对角阵可用函数。

10.在MATLAB图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用命令,如果需要在指定的坐标位置标注文本时使用的函数为。

11.用MATLAB绘制极坐标中的图形时可以使用函数,绘制条形图时可使用函数,绘制柱状图,用以表示数据值的分布情况时可使用函数。

12.MATLAB中用于控制不定次重复循环语句为,若在循环执行过程中需要终止该循环时采用的语句为。

13.对于MATLAB中的多维阵列,在保持所有元素个数和内容不变的前提下可以使用函数改变其尺寸和维数;利用函数可以定义单元阵列。

二、选择题(每题4分,共20分)

6.设A=[123;345;567;789],则sum(A),length(A)和size(A)的结果()

A.[162024]3[43]B.[6121824]3[34]

C.[6121824]4[43]D.[162024]4[43]

7.设X=[0:

0.5*pi:

pi],Y=cos(X)且Z=sin(X),那么Y.*Z,Y*Z’和cat(1,Y,Z)的结果分别为()

A.[000]0[10-1;010]B.[000]0[10-1010]

C.[000][010;000;0-10][10-1;010]

D.[010;000;0-10][000][10-1010]

8.对于矩阵A,统计其中大于T的元素个数,可以使用的语句是()

A.length(A)-length(find(A<=T))B.length(sum(A>T))

C.sum(sum(A>T))D.sum(length(A>T))

9.假设多维阵列A=rand(5,5,4),下面对A进行各种不同的操作,其中错误的是()

A.sin(A).*cos(A)B.A1

(1)=A

C.sum(A)+length(A)D.A1{2}=num2cell(A)

10.已知str1=’sum’,str2=’sun’,str3=’XiDian123’,有:

k1=sum(str1==str2),k2=sum(strrep(str1,’m’,’n’)==str2),k3=findstr(str3,’an’),则k1,k2,k3的结果分别为:

()

A.2,2,5B.2,3,5C.3,2,4D.2,3,4

三、程序填空(每空3分,共15分)

3.编写MATLAB程序,在同一图形窗口中绘制y1和y2两条曲线,并对图形坐标轴进行控制。

程序如下:

x=-3:

0.1:

3;

y1=2*x+5;y2=x.^2-3*x;

plot(x,y1);%绘制曲线y1

①;%保持曲线y1

plot(x,y2);%绘制曲线y2

m1=max([y1,y2]);m2=min([y1,y2]);

②;%用axis调制坐标轴,横坐标在[-33]之间,且完全显示图形

③;%加入图形注释,横坐标为“时间”,纵坐标为“幅度”

4.编写MATLAB程序,对于用户输入的向量或矩阵,计算其平均值和方差:

④;%提示输入数据并保存到x中,命令行显示“请输入数据”

y=reshape(x,1,prod(size(x)));

m=mean(y);%计算均值m

⑤;%计算方差v

四、(10分)为解下列线性方程组,请写出MALAB语言程序。

3x1+x2+5x4=2

6x2+7x3+3x4=4

4x2+3x3=7

2x1-x2+2x3+6x4=8

五、(10分)利用menu函数和switch函数编写脚本文件。

输入选择ch,当ch=1时,产生[-1,1]之间均匀分布的随机数;ch=2时,产生大小为5x5的对角阵,其中每个元素在[0,1]之间均匀分布;当ch=3时,产生均值为0,方差为1的正态随机数;当ch=4时,产生均值为5,方差为4的大小为5x5的正态随机矩阵;当ch=5时,直接退出菜单。

六、(10分)某宿舍有4名同学,3门课程的期末考试成绩如下表所示:

姓名(name)

liming

wanglei

liujun

zhangxiao

成绩(score)

857578

838492

806977

907581

要求编程完成以下内容:

(3)基于表格内容构建结构阵列,结构名为student。

通过访问结构阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的结构阵列。

最终得到的结构阵列可表示为

student

.name

.score

.mean

(4)基于表格内容建立二维单元阵列,单位阵列中每一行保存一个学生的信息。

通过访问单元阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的单元阵列。

最终得到的单元阵列格式为:

姓名成绩平均分

学生1

学生2

学生3

学生4

七、(15分)某一过程中通过测量得到:

t

0

0.2

0.4

0.6

0.8

1.0

2.0

5.0

y

1.0

1.5

1.9

2.1

2.3

2.4

2.6

-4.0

编程完成以下内容:

(1)分别采用三阶和四阶多项式对数据进行拟合;(提示:

采用polyfit进行多项式拟合;调用格式为p=polyfit(t,y,n),n为多项式阶数,p为得到的多项式系数)

(2)比较拟合效果,要求把图形窗口分成两个子窗口,子窗口1绘制出原始测量值和三阶多项式拟合后的曲线,子窗口2绘制出原始测量值和四阶多项式拟合后的曲线;

(3)根据已知时刻点的测量值,计算两种拟合方法的均方误差(MSE)。

,其中

为上面表中的原始测量值,

为拟合后的估计值。

四、基本知识填空题(每空1分,共20分)

1、helpdispclearsaveload

2、simulinktoolboxes

3、eyezerosonesdiag

4、gridontext

5、polarbar(或barh)hist

6、whilebreak

7、reshapecell

五、选择题(每题4分,共20分)

DACBB

六、程序填空题(每空3分,共15分)

①holdon

②axis([-33m2m1])

③xlabel(‘时间’);ylabel(‘幅度’);

④x=input(‘请输入数据\n’)或x=input(‘请输入数据’)

⑤v=var(y)或1/(length(y)-1)*(sum((y-m).^2))

四、(10分)

A=[3105;0673;0430;2-126;];%3分

b=[2478]';%3分

x=A\b;或x=inv(A)*b或x=pinv(A)*b;%4分

另一种答案:

A=[3002;164-1;0732;5306];%3分

b=[2478];%3分

x=b/A;或x=b*inv(A);%4分

五(10分)

ch=menu('selectanum','1','2','3','4','5');%3分

switchch%switch语句格式写对2分

case1

y=2*rand-1;%1分

case2

y=diag(rand(1,5));%1分

case3

y=randn;%1分

case4

y=5+2*randn(5,5);%1分

case5

return;%1分

end

六、(10分)

%构建结构阵列3分,也可用赋值语句逐个赋值

student=struct('name',{'liming','wanglei','liujun','zhangxiao'},...

'score',{[857578],[838492],[806977],[907581]});

fori=1:

length(student)

student(i).mean=mean(student(i).score);%更新正确2分

end

%构建单元阵列3分,也可用赋值语句逐个赋值

student1={'liming',[857578];'wanglei',[838492];'liujun',[806977];...

'zhangxiao',[907581]}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1