MATLAB试题A

更新时间:2024-01-29 04:40:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

试 题 2012 年 ~ 2013 第 1 学期 课程名称: MATLAB语言 专业年级: 自动化1001-1006 考生学号: 考生姓名: 试卷类型: A卷 √ B卷 □ 考试方式: 开卷 □ 闭卷 √ ???????????????????????????????????????????? 一、填空题(每空1分,共20分) 1. MATLAB即Matrix+Laboratory,其强项就是高效的 计算,其默认的数据类型是 型。 2. 在 窗口中可输入各种MATLAB命令、函数和表达式,并显示除图形外的所有运算结果。 3. 定义变量c为字符串“Hello”的命令是 。 4. MATLAB的基本绘图命令是 。 5. clear命令的作用是清除 。 6. 计算3cos(2x+43o )用命令 。 ?121?7. 定义变量a=??用命令 ,命令b=a>3执行后b= ,将 a 矩阵第一行的所有元素改334??为3的命令是 。 8. 定义10个元素全为零的行向量用命令 。 9. 求线性方程AX=b,用命令 。 10. 设X1=[2 3;4 5],X2=eye(2,2),则X1*X2= ,X1.*X2= 。 11. 若Z=[3-i, 1+i],则Z’= 。 12. 求方程x3+20x+1=0的根的命令是 。 13. 命令A={'This is a Cell array', ones(2,3)}定义了一个 数组。 14. 若某班全体学生的信息用结构数组student表示,则要查看该班第一个学生的学号num 可用命令 。 15. 命令conv ([1 1], ones(1,2))执行的结果是 。 16. 定义图形窗口中x轴坐标范围为0~2π,y轴坐标范围为-1~1的命令是 。 二、选择题(每小题2分,共30分) 1. MATLAB绘制二维图形的命令是: A. subplot B. plot C. draw D. figure 2. 有关分号“;”的功能,以下说法错误的是: A. 作为不显示计算结果命令行的结尾 B. 作为不显示计算结果命令之间的分隔符 C. 作为命令行必需的结束符 D. 作为数组元素行之间的分隔符 3. 对于命令“save FileName”的功能说法正确的是: A. 将当前图形窗口中的图形存入以“FileName”为名的图形文件 B. 将工作空间中的所有数据存入以“FileName”为名的数据文件 C. 将当前编写的程序代码存入以“FileName”为名的程序文件 D. 将工作空间中的数据、图形窗口中的图形及当前编写的程序一并存入以“FileName”为名的压注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。

(第 1 页)

4. 5. 6. 7. 8. 缩文件 以下不属于MATLAB文件类型的是: A. m B. fig C. dat D. mat 已定义a=1,b=2,欲表示复数1+2i,以下命令错误的是: A. a+bi B. a+b*i C. 1+2i D. 1+2j 下列变量名中合法的是 : A. NaN, i4 B. 变量1, a-2 C. data_1, EX.02 D. 2pi, det 以下不属于取整函数的是: A. rand B. round C. floor D. fix 若变量a=[1 0 ],则命令[ a ; a ]执行的结果是: A. [1 0 1 0] B. [2 0] ?10?C. ?? 10?? D. 报错 9. 命令linspace(0,1,2)执行的结果是: A. [0 1 2] B.[0 1] C. [100 101] 10. 命令1/3 执行的结果是: 11. 12. D. 与命令“0:1:2”执行结果相同 13. 14. 15. ? A. 1/3 B. 0.3333 C. 3 D. 0.3MATLAB中添加文本注释用符号: A. // B. % C. /* D. @ 下列关于MATLAB工作空间说法错误的是: A. MATLAB工作空间中的变量在MATLAB关闭时即清空 B. MATLAB工作空间中的变量可以为M脚本文件使用 C. MATLAB工作空间中的变量可以为M函数文件使用 D. MATLAB工作空间中的变量可以为Model文件使用 命令A(2,3)表示: A. 定义了2行3列的矩阵A B. 取矩阵A的第3行第2列的元素 C. 取矩阵A的第2行第3列的元素 D. 取矩阵A的第2及第3个元素 已知a=2:4, b=rand(3,1), 下面的运算表达式出错的是: A. a*b B. a/b C. b*a D. a.*b’ 在程序流程控制中break命令的作用是: A. 跳出循环体 B. 返回上级调用 C. 中止本次循环 D. 终止程序运行 三、改错题(5分) 已知二阶系统时域响应为y(t)?1?11??2e?? xsin(1??2x?arccos?) ,其中0???1,以下程序定义M函数文件test,计算该系统在阻尼系数?分别为0.2、0.5、0.7时的时域响应,并在同一张图上画出各条时域响应曲线。试找出程序中的错误、说明错误原因、并修改错误。 for zeta=(0.2,0.5,0.7) y=1-1/sqrt(1-zeta^2)*e^(-zeta*t)*sin(sqrt(1-zeta^2)t+arccos(zeta); hold on poly(x,y) 四、编程题(共25分) 1. 编写M脚本文件,要求从键盘输入一个3*3的方阵,然后判断该方阵是否可逆(通过判断矩阵的注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。

(第 2 页)

秩是否为3实现),如果可逆,求出其逆矩阵;如果不可逆,修改该输入矩阵的最后一列为0~10之间的随机整数,然后求修改后矩阵的逆矩阵。(10分) 2. 在同一图形窗口中按照?x?0.1的步长间隔分别绘制曲线y1?x2e?x,0?x?1;y1?sin(x)?cos(x), 1?x?2。要求y1曲线为红色虚线,数据点用圆圈标识;y2曲线为蓝色点划线;给出图例;标记图名为y1,y2。(10分) 3. 已知f(t)?(sin2t)e?at?b|t|,a=0.1,b=0.5,利用泛函命令求其在t=0.5附近的过零点。(5分) 五、分析题(5分) 若有函数文件编写如下,试写出函数调用Multi(5)的运行结果。 function c=Multi(n) for i=1:n for j=i:n c(i,j)=i*j; end end 六、已知4阶龙格-库塔算法如下: 试利用该算法求解以下微分方程: ?dy??f(x,y)??y?1 ?dx??y(0)?0在x=0.5处的解(取步长h=0.1)。(10分) 注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。

(第 3 页)

自动化2011级《MATLAB语言》试题(A卷)参考答案 一、填空题(每空1分,共20分) 1. 矩阵 双精度 2. 命令 3. ‘Hello’ 4. plot 5. 工作空间 6. 3*cos(2*x+43*pi/180) 7. a=[1 2 1; 3 3 4] [0 0 0; 0 0 1] a(1,:)=3 8. zeros(1,10) 9. A\\b 10. [2 3; 4 5] [2 0; 0 5] 11. [3+i; 1-i] 12. roots([1 0 20 1]) 13. 元胞 14. student(1).num 15. [1 3 2] 16. axis([0 2*pi -1 1]) 二、选择题(每小题2分,共30分) 1.B 2. C 3. B 4. C 5. A 6. A 7. A 8. C 9. B 10. B 11. B 12. C 13.C 14. B 15. A 三、改错题(5分)(每个错误0.5分) 错误1 :for循环需end结束,此处缺end 错误2 :矩阵定义需用[ ]而非( ),此处zeta=(0.2,0.5,0.7)应改为zeta=[0.2,0.5,0.7] 错误3 :指数函数为exp()而非e^,此处e^(-zeta*t)应改为exp(-zeta*t) 错误4 :矩阵相乘应维数匹配,此处e^(-zeta*t)*sin(sqrt(1-zeta^2)中的“*”应改为“.*” 错误5 :乘法运算中的乘号不能省略,此处 sqrt(1-zeta^2)t应改为(sqrt(1-zeta^2)*t 错误6 :反余弦函数的函数名写错,此处的arccos(zeta)应更改为acos(zeta) 错误7 :括号应成对,此处sin函数少1括号,即sin(sqrt(1-zeta^2)t+arccos(zeta)应该为sin(sqrt(1-zeta^2)t+arccos(zeta)) 错误8 :hold on命令应该在plot画图命令之后,此处应将hold on 命令写在plot(x,y)之后 错误9 :画图函数书写错误,应将poly改为plot,且作为时域响应中的自变量,plot(x,y)中的x应改为t 错误10:for循环之前应对时域响应的自变量赋初值,所以在for循环前应加语句“t=0:.1:10”或类似语句 修正后完整代码如下: t=0:.1:10; for zeta=[0.2,0.5,0.7] y=1-1/sqrt(1-zeta^2)*exp(-zeta*t).*sin(sqrt(1-zeta^2)*t+acos(zeta); poly(t,y) hold on end 注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。

(第 4 页)

四、编程题(共25分) 1. (共10分) A=input('请输入一个3*3方阵') (1分) r=rank(A) (1分) if r==3 (if else end结构3分,关系运算表达式1分) i=inv(A) (1分) else a=round(10*rand(3,1)); (2分) A(:,end)=a (1分) i=inv(A) end 2.(共10分) x1=0:0.1:1; (1分) y1=x1.^2.*exp(-x1); (2分) x2=1:0.1:2; y2=sin(x2)+cos(x2); (2分) plot(x1,y1,'r--o',x2,y2,'b-.') (3分) legend('y1','y2') (1分) title('y1,y2') (1分) 3. (共5分) 首先在M文件编译器中定义函数f function y=f(t) (1分) a=0.1; (1分) b=0.5; (1分) y=(sin(t).^2).*exp(-a*t)-b*abs(t); (1分) 然后在命令窗口中调用泛函fzero求过零点 >> fzero(@f,0.5) (1分) 五、分析题(5分) 函数调用Multi(5)的运行结果: 1 2 3 4 5 0 4 6 8 10 0 0 9 12 15 0 0 0 16 20 0 0 0 0 25 六、(10分) 首先用函数文件Df定义待求解的微分方程: (2分) function dy=Df(x,y) dy=-y+1; 然后编写脚本文件,用4阶龙格库塔法求解该微分方程: h=0.1; (0.5分) x=0:h:0.5; (0.5分) 注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。

(第 5 页)

y=zeros(size(x)); for n=1:length(x)-1 k1=Df(x(n),y(n)); k2=Df(x(n)+h/2,y(n)+h*k1/2); k3=Df(x(n)+h/2,y(n)+h*k2/2); k4=Df(x(n)+h,y(n)+h*k3); y(n+1)=y(n)+h*(k1+2*k2+2*k3+k4)/6; end y(end) ( (0.5分) (1分) (1分) (1分) (1分) (1分) (1分) 注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。

(第 6 页)

y=zeros(size(x)); for n=1:length(x)-1 k1=Df(x(n),y(n)); k2=Df(x(n)+h/2,y(n)+h*k1/2); k3=Df(x(n)+h/2,y(n)+h*k2/2); k4=Df(x(n)+h,y(n)+h*k3); y(n+1)=y(n)+h*(k1+2*k2+2*k3+k4)/6; end y(end) ( (0.5分) (1分) (1分) (1分) (1分) (1分) (1分) 注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。

(第 6 页)

本文来源:https://www.bwwdw.com/article/tzew.html

Top