西安电子科技大学
考试时间 90 分钟
2012年MATLAB语言试题
题号 一 二 三 四 五 六 分数 总分 1.考试形式:开卷;2.本试卷共 六 大题,满分100分;3.答案写在试卷上
班级 学号 姓名 任课教师
一、基本知识填空题(每空1分,共20分)
1. MATLAB的通用命令中,对函数功能和用法不熟悉,可用 命令进行在线帮助;对程序行添加注释,可用符号 来表示;清除命令窗口中的所有输入和输出,可用 命令;清保存和恢复工作空间,或者工作空间中的特定变量时,可分别用 和 命令。
2. 在MATLAB的基本矩阵操作函数中,产生全“1”矩阵可用 函数,产生全“0”矩阵可用 函数,产生对角阵或者提取矩阵的对角元素可使用 函数,产生满足高斯分布的5×5的随机矩阵可在命令窗口输入 。
3. 在MATLAB图形系统中,可以使用 命令给已经绘制好的图形加上栅格线;需要绘制多条曲线时,保持当前图形窗口可使用 命令;在二维平面绘制竖直方向条形图时,可使用 函数,绘制柱状图,用以表示数据值的分布情况时可使用 函数。
4. 在MATLAB程序设计中进行用户参数交互输入时,可以使用 函数
在命令窗口直接输入,可以使用 函数制作交互输入的菜单。
5. 对于MATLAB中的多维阵列,在保持所有元素个数和内容不变的前提下可
以使用 函数改变其尺寸和维数;利用 函数可以定义单元阵列,利用 函数可以定义结构阵列。
6. 在MATLAB中,将含有小数的数值转换成字符串可用 命令,在字
符串中查找子字符串可用 命令。 二、选择题(每题4分,共20分)
1. 设X=[1 2 4 3; 5 3 2 1]’,则sum(A)和size(A)的结果( ) A. [6 5 6 4] [4 2] B. [10 11] [4 2] C. [6 5 6 4] [2 4] D. [10 11] [2 4]
2. 在Command Window窗口中分别输入下列命令,对应输出结果错误的是
( )
A. x=[-3:2] x=[-3 -2 1 0 1 2] B. x=zeros(1,2);x>0 ans=[0 0] C. y=sum(eye(3))’ y=[1] D. 3-2*ones(1,2) ans=[1 1]
3. 已知矩阵A,要统计其中小于0.5的元素个数,可使用下面那条语句 ( )
A. length(find(A<0.5)) B. sum(sum(A<=0.5)) C. length(sum(A<0.5)) D. sum(length(A<0.5)) 4. 已知str1=’hello’, str2=’help!’,有:k1=sum(str1==str2), k2=
sum(strrep(str1,’lo’,’p!’)==str2), 则k1,k2的结果分别为:( ) A. 3, 3 B. 3, 5 C. 5, 3 D. 5, 4 5. 下列关于脚本文件和函数文件的描述中不正确的是( ) A. 去掉函数文件第一行的定义行可转变成脚本文件; B. 函数文件可以调用脚本文件; C. 脚本文件可以调用函数文件;
D. 函数文件中的第一行的一般以function开始; 三、程序填空(每空2分,共18分)
1. 编写MATLAB程序,随机产生100个在[0 100]之间均匀分布的数据,并对这些数据进行统计分析。程序如下:
A = ; % 产生满足题目要求的数据A m = ; % 计算均值m B = A-m;
v = sum(B.^2)/100; % 计算方差v
C = ; % 调用MATLAB函数对数据A进行排序 Amax = C(1); % 最小值 Amin = C(100); % 最大值
2. 编写MATLAB程序,用三阶多项式来拟合数据,在同一图形窗口中绘制拟
合前和拟合后两条曲线,并对图形坐标轴进行控制。程序如下:
x=[1, 2, 3, 4, 5];y=[5.1, 6.2, 7.1, 8.2, 6.3]; %采用三阶多项式拟合 x2=1:.01: 5;
y2= ; %拟合后的曲线 figure(1)
; %同时绘制前后的两条曲线 m1 = max([y, y2]); m2 = min([y, y2]);
; %调整坐标轴,横坐标在[0 6]之间,且完全显示图形 ; %加横坐标“时间” ; %加纵坐标“幅度”
title(‘多项式拟合’);
四、(12分) 编写函数文件,函数名为find0,实现任意给一个整数,可计算其中包含“0”的个数。编写脚本文件,调用find0函数,计算自然数1~2012中包含“0”的总个数。
五、(15分) 利用matlab计算函数y = 0.5(x-1)2+cos(3x),其中x取值在区间[-3 3],步长为0.01。绘制出y的波形图,横坐标在[-3 3]之间。计算出该函数在[-3 3]上的最小值,并在已有波形图中用符号“o”进行标注。 六、(15分)某宿舍有4名同学期末考试的成绩为下表所示: 姓名 李伟 王军 刘志 张林 课程英语 85 83 80 90 及成物理 75 84 69 75 绩 数学 78 92 77 81 编程完成以下内容:
(1) 基于表格内容构建单元阵列,单元阵列名为student,尺寸为4×2。单位阵列中每一行保存一个学生的信息,每一行第一个阵列点存储学生姓名,第二个阵列点存储学生各门课成绩。
(2) 调用该单元阵列,计算每名同学的平均分。
(3) 将平均分作为一个新的域,更新已经建立的单元阵列,单元阵列名仍为student,但尺寸为4×3。最终得到的单元阵列存储格式为: 姓名 成绩 平均分 学生1 学生2 学生3 学生4