西          2012—2013                     
          院系:              班级:              姓名:              学号:
    线      线           线
科目
Matlab程序设计
考试性质
考查
命题
审批
2下列关于脚本文件和函数文件的描述中不正确的是(    )
A. 函数文件可以在命令窗口直接运行;
B. 去掉函数文件第一行的定义行可转变成脚本文件;
C. 脚本文件可以调用函数文件;
D. 函数文件中的第一行必须以function开始;
3MATLABEditor中输入下列语句:x=[1 2 3 4];y=polyval(x,1);运行后,在 Command Window 中对应y的输出结果为(    )
A.5          B.8          C.24                D.10
4MATLAB中定义:A=randn(5,4,3,2),则下列关于A的操作中正确的是:(   
A y=eig(A)                B. y=reshape(A,[4 3 6 7])
C. ypermute(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程序,在同一图形窗口中绘制y1y2两条曲线,并对图形坐标轴进行控制。程序如下:
x = -3:0.1: 3;
y1 = 2*x+5; y2 = x.^2-3*x;
plot(x,y1);  %绘制曲线y1
试卷类型
A
考试地点
学生班级
成绩
一、填空题(每空1分,共20
1MATLAB的通用命令中若对函数功能和用法不熟悉,可用        命令,列出内存中的变量目录可用                命令,清除工作空间的变量可用      命令,关闭图形窗口可用      命令。
2A=[1,2;3,4];B=[5,6;7,8],则A*B=        A.*B=       
3A=[1,2,3;10 20 30;4 5 6],则size(A)=        sum(A)=       
4x=0:pi/20:pi;y=sin(x);x为横坐标以y为纵坐标的曲线图绘制命令为:        ,给该图形加上“正弦波”的标题的命令为:        ,给该图形的横坐标标注为“时间”, 纵坐标标注为“幅度”的命令分别为:               
5MATLAB中用于控制不定次重复循环语句为        ,若在循环执行过程中需要终止该循环时采用的语句为        ,当用户需要从键盘输入参数时采用的语句为       
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.
学生(student)
课程
王立
赵范
李志
物理Physics
90
87
65
数学Mathematics
89
95
70
通过访问结构阵列,统计三人物理的平均分,出三人数学最高分的获得者,并打印出如下的结果:
物理平均分是:        ××
获得数学最高分者:    ××
(××表示所获结果,提示: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,方差为110×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)
1help  who  whos  clear  close
2A*B=[19,22;43,50]  A.*B=[5,12;21,32]
3size(a)=[3 3]  sum(a)=[15 27 39]
4plot(x,y)  title(‘正弦波’)  xlabel(‘时间’)  ylabel(‘幅度’)
5while end    break  input
60  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))
四、编程题
1A=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小时内删除。