西 安 科 技 大 学 2012—2013 学 年 第 二 学 期 期 末 考 试 试 题 院系: 班级: 姓名: 学号: | 装 订 线 装 订 线 以 内 不 准 作 任 何 标 记 装 订 线 | 科目 | Matlab程序设计 | 考试性质 | 考查 | 命题 | 审批 | 2.下列关于脚本文件和函数文件的描述中不正确的是( ) A. 函数文件可以在命令窗口直接运行; B. 去掉函数文件第一行的定义行可转变成脚本文件; C. 脚本文件可以调用函数文件; D. 函数文件中的第一行必须以function开始; 3.在MATLAB的Editor中输入下列语句:x=[1 2 3 4];y=polyval(x,1);运行后,在 Command Window 中对应y的输出结果为( ) A.5 B.8 C.24 D.10 4.在MATLAB中定义:A=randn(5,4,3,2),则下列关于A的操作中正确的是:( ) A y=eig(A) B. y=reshape(A,[4 3 6 7]) C. y=permute(A,[2 3 4 5]) D. y=sin(A) 5.设str1=’hello’,str2=’help!’,str3=’xidian university’,有:k1=sum(str1==str2), k2=findstr(str3,’an’),则k1,k2的结果分别为:( ) A 3, 4 B.3, 5 C.4,4 D. 4,5 三、程序填空(每空3分,共15分) 1.编写MATLAB程序,在同一图形窗口中绘制y1和y2两条曲线,并对图形坐标轴进行控制。程序如下: x = -3:0.1: 3; y1 = 2*x+5; y2 = x.^2-3*x; plot(x,y1); %绘制曲线y1 | |||||||||||||||||||||||||||
试卷类型 | A | 考试地点 | 学生班级 | 成绩 | |||||||||||||||||||||||||||||||
一、填空题(每空1分,共20分) 1.MATLAB的通用命令中若对函数功能和用法不熟悉,可用 命令,列出内存中的变量目录可用 或 命令,清除工作空间的变量可用 命令,关闭图形窗口可用 命令。 2.设A=[1,2;3,4];B=[5,6;7,8],则A*B= , A.*B= 。 3.A=[1,2,3;10 20 30;4 5 6],则size(A)= ,sum(A)= 。 4.x=0:pi/20:pi;y=sin(x);以x为横坐标以y为纵坐标的曲线图绘制命令为: ,给该图形加上“正弦波”的标题的命令为: ,给该图形的横坐标标注为“时间”, 纵坐标标注为“幅度”的命令分别为: 和 。 5.MATLAB中用于控制不定次重复循环语句为 ,若在循环执行过程中需要终止该循环时采用的语句为 ,当用户需要从键盘输入参数时采用的语句为 。 6.设:str1=’matlab’, str2=’matche’, str3=’Matlab’, str4=’signal processing using MATLAB’;则strcmp(str1,str2)= , strncmp(str1,str2,3)= ,strcmpi(str1,str3)= ,strtok(str4) = 。 二、选择题(每题4分,共20分) 1.在Command Window窗口中分别输入下列命令,对应输出结果正确的是( ) A. x=[2:-2] x=[-2 1 0 1 2] B. x=zeros(1,2);x>0 ans=1 C. y=diag(eye(3),2).’ y=[0 0] D. 5-10*rand(1,2) ans=[-5.0501 1.2311] __________________________________________________________________________________________________________________ | |||||||||||||||||||||||||||||||||||
西 安 科 技 大 学 2012 —2013 学 年 第 二 学 期 期 末 考 试 试 题 院系: 班级: 姓名: 学号: | 装 订 线 装 订 线 以 内 不 准 作 任 何 标 记 装 订 线 | 科目 | Matlab程序设计 | 试卷类型 | A | 考试班级 | 3.为解下列线性方程组,请写出MALAB语言程序。(10分) 3 x1 + x2 + 5x4 = 2 6 x2 +7 x3 + 3x4 = 4 4 x2 +3 x3 = 7 2x1 - x2 + 2 x3 + 6x4 =8 4.如下表,建立一个结构阵列Student 包含的域名有Name, Physics, Mathematics.
通过访问结构阵列,统计三人物理的平均分,出三人数学最高分的获得者,并打印出如下的结果: 物理平均分是: ×× 获得数学最高分者: ×× (××表示所获结果,提示:num2str(x),可将数据x转换成字符串,strcat(str1,str2,…)可连接多个字符串)(10分) | ||||||||||||||||||||||||||||
① ; plot(x,y2); %绘制曲线y2 m1 = max([y1, y2]); m2 = min([y1, y2]); ② ; %用axis调制坐标轴,横坐标在[-3 3]之间,且完全显示图形 ③ ; %加入图形注释,横坐标为“时间”,纵坐标为“幅度” 2.编写MATLAB程序,对于用户输入的向量或矩阵,计算其平均值和方差: ④ ; % 提示输入数据并保存到x中,命令行显示“请输入数据” y = reshape(x,1, prod(size(x))); m = mean(y); % 计算均值m ⑤ ; % 计算方差v 四、编程题 1.利用randn函数产生均值为0,方差为1的10×10随机矩阵A,然后统计A中大于-0.5且小于0.5元素的个数。(10分) 2.曲线1的方程y=x2+1曲线2的方程y=x2-2x-1,编一函数,函数形式如下: function y=MyCurve(x,CurId) %函数功能:求曲线1,2的函数值 %输入参数:x,自变量,CurId,为1时,是曲线1的形式,为2时,是曲线2的形式, %为其它时,y为零。 %输出参数:y,相应曲线的函数值 当x∈[-3,3],步长为0.01时,调用编写的函数,曲线1相应的函数值记为y1,曲线2相应的函数值记为y2。在同一幅图上用红实线画出曲线1,用蓝虚线画出曲线2,加栅格线,并标注x轴和y轴。(提示:r红,b蓝,-实线,:虚线)(15分) | |||||||||||||||||||||||||||||||||||
一、 填空题(每空1分,共20分)
1、help who whos clear close
2、A*B=[19,22;43,50] A.*B=[5,12;21,32]
3、size(a)=[3 3] sum(a)=[15 27 39]
4、plot(x,y) title(‘正弦波’) xlabel(‘时间’) ylabel(‘幅度’)
5、while end break input
6、0 1 1 signal
二、 选择题(每题4分,共20分)
C A D D B
三、 程序填空题(每空3分,共15分)
① hold on
② axis([-3 3 m2 m1])
③ xlabel(‘时间’); ylabel(‘幅度’);
④ x = input(‘请输入数据 \n’) 或 x = input(‘请输入数据’)
⑤ v = var(y) 或 1/(length(y)-1) * (sum((y-m).^2))
四、编程题
1.A=randn(10); % 2分
b=A>-0.5; % 1分
c=A<0.5; % 1分
d=b&c; % 2分
e=sum(d); % 2分
f=sum(e); % 2分
或用find()
2.
函数编写正确5分,调用函数正确5分,画图正确5分。
function y=MyCurve(x,CurId)
if CurId==1
y=x.^2+1;
elseif CurId==2
y=x.^2-2*x-1;
else
y=0;
end
function y=MyCurve(x,CurId) 或
switch CurId
case 1
y=x.^2+1;
case 2
y=x.^2-2*x-1;
otherwise
y=0;
end
clc;
x=[-3:0.1:3];
y1=MyCurve(x,1);
y2=MyCurve(x,2);
或用hold on命令如下
%figure;
%grid on;hold on;
%plot(x,y1,'r-');plot(x,y2,'b:');xlabel('x');ylabel('y');
%hold off;
figure;
grid on
plot(x,y1,'r-',x,y2,'b:');xlabel('x');ylabel('y');
3.(10分)
A=[3 1 0 5; 0 6 7 3; 0 4 3 0; 2 -1 2 6;]; %3matlab考试题库及答案分
b=[2 4 7 8]'; %3分
x=A\b; 或x=inv(A)*b; %4分
另一种答案:
A=[3 0 0 2;1 6 4 -1; 0 7 3 2; 5 3 0 6]; %3分
b=[2 4 7 8]; %3分
x=b/A;或x=b*inv(A); %4分
4.
Student(1).Name='王立';
Student(1).Physics=90;
Student(1).Mathematics=89;
Student(2).Name='赵范';
Student(2).Physics=87;
Student(2).Mathematics=95;
Student(3).Name='李志';
Student(3).Physics=65;
Student(3).Mathematics=70; %结构阵列赋值2分
PhyScore=zeros(1,3);MathScore=zeros(1,3);
for i=1:3
PhyScore(i)=Student(i).Physics;
MathSore(i)=Student(i).Mathematics; %访问结构阵列内容,每个1分,共2分
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论