MATLAB期末考试试卷及答案
- 格式:doc
- 大小:66.00 KB
- 文档页数:11
---- 一、填空题〔每空2分,总共30分〕1.A=[096;130];B=[143;150];写出以下各指令运行的结果。
A&B 的运行结果ans=;A./B 的运行结果ans=。
2方阵的命令为ze ro s (4)1方阵的命 令为ones(3)。
3.A=rand(2,5);b=size(A);c=length(A);那么b 和c 的值分别为和[2,5],[5]。
4.标点符号分号可以使命令行不显示运算结果,百分号用来表 示该行行。
5.用if 判断语句判断80≥x>60,在MATLAB 中if 语言后的判断 应写为ifx<=80&x>60。
共10页6.P,Q分别是个多项式的系数矢量,求P对应的多项式的积分〔对应的常数项为K〕,使用的命令是polyint(P,K);求P/Q的解,商和余数分别保存在k和r,使用的命令是[k,r]=deconv(P,Q);7.为了使两个plot的图形在同一个坐标显示,可以使用holdon命令进展图形保持;可以使用gridon命令为图形添加网格。
8.MATLAB的工作空间中有三个变量v1,v2,v3,写出把它们保存到文件my_data.mat 中的指令savemy_data;写出把my_data.mat文件中的变量读取到MATLAB工作空间内的指令loadmy_data。
二、选择题〔每空2分,总共20分〕1.以下哪个变量的定义是不合法的A(A)abcd-3(B)xyz_3(C)abcdef(D)x3yz2.以下哪条指令是求矩阵的行列式的值C(A)inv(B)diag(C)det(D)eig3.在循环构造中跳出循环,执行循环后面代码的命令为B(A)return(B)break(C)continue(D)keyboard4.清空Matlab工作空间内所有变量的指令是C(A)clc(B)cls(C)clear(D)clf5.用round函数四舍五入对数组[2.486.393.938.52]取整,结果为C(A)[2638](B)[2648](C)[2649](D)[3749]6.a=2:2:8,b=2:5,下面的运算表达式中,出错的为C(A)a'*b(B)a.*b(C)a*b(D)a-b7.角度x304560,计算其正弦函数的运算为D(A)SIN〔deg2rad(x)〕(B)SIN(x)(C)sin(x)(D)sin(deg2rad(x))8.下面的程序执行后array的值为(A)fork=1:10ifk>6break;elsearray(k)=k;endend(A)array=[1,2,3,4,5,6](B)array=[1,2,3,4,5,6,7,8,9,10](C)array=6(D)array=10.9.i=2;a=2i;b=2*i;c=2*sqrt(-1);程序执行后;a,b,c的值分别是多少?(A)a=4,b=4,c=2.0000i(C)(B)a=4,b=2.0000i,c=2.0000i(C)a=2.0000i,b=4,c=2.0000i(D)a=2.0000i,b=2.0000i,c=2.0000i3+12x-9=0的所有解10.求解方程x4-4x4-4x(A)1.0000,3.0000,1.7321,-1.7321(B)1.0000,3.0000,1.7321i,-1.7321i(C)1.0000i,3.0000i,1.7321,-1.7321(D)-3.0000i,3.0000i,1.7321,-1.7321三、写出程序的执行结果或写出给定要求的指令〔总共35分〕1.写出执行以下代码后C,D,E的值(6分)A=[1,2,3;4:6;7:9];C=[A;[10,11,12]],D=C(1:3,[23])E=C(2,[12])2.写出执行以下代码后,MATLA命B令窗口上显示的x矩阵的值(5分)x=[0,1,0,2,0,3,0,4];fork=1:8ifx(k)==0x(k)=k;elsex(k)=2*k+1;endenddisp(x);3.创立符号函数并求解,要求写出步骤和运行结果〔7分〕(1)创立符号函数f=ax 2+bx+c(2)求f=0的解4.求解以下线性方程组,要求写出程序代码和运行结果〔5分〕2x1-3x2+x3+2x4=8x1+3x2+x4=6x1-x2+x3+8x4=17x1+x2-2x3+2x4=55.绘制函数曲线,要求写出程序代码(12分)(1)在区间[0:2π]均匀的取50个点,构成向量π(2)在同一窗口绘制曲线y1=sin(2*t-0.3);y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号四、使用MATLAB语言进展编程〔15分〕打印出所有的水仙花数。
大学专业试题-Matlab期末考试及答案一、填空题(一题3分,共15分)1、标点符号_______可以使命令行不显示运算结果。
答案:%2、x为0~4,步长为0.1pi的向量,使用命令_______创建。
答案:x=0:0.1*pi:4。
3、输入矩阵A=[1 2 3;7 -5 8;9 -1 -7],使用全下标方式用A(2,2)取出元素“-5”,使用单下标方式用_______取出元素“-5”。
答案:A(5)。
4、在while表达式,语句体,End循环语句中,表达式的值____时表示循环条件为真,语句体将被执行,否则跳出该循环语句。
答案:非零。
5、要从键盘读入一个字符串并赋值给变量x,且给出提示“Hello”,应使用命令_________.答案:x=input(‘Hello’,’s’)。
二、选择题(一题3分,共15分)1、下列表示可以作为MATLAB的变量的是( D )A.abcd-2 B.xyz_2#C.@h D.X_1_a2、如果x=1:2:8,则x(1)和x(4)分别是( B )A.1,8B.1,7C.2,8D.2,73、指出下列错误的指令(B)。
A.syms a b;B.syms a,b;C.syms(‘a',’b');D.syms(‘a','b','positive');4、下列哪条指令是求矩阵的行列式的值(C)。
A.invB.diagC.detD.eig5、清空Matlab工作空间内所有变量的指令是(C)。
A.clcB.clsC.clearD.clf三、程序分析题(一题10分,共20分)1、分析下面程序运行后s1,n1,s2,n2,m的值。
s1=0;s2=0;n1=0;n2=0;x=[1,-4,-8,3,10,-9,7,-3,10,8,-5,-2,2,0];m=length(x);for i=1:mif x(i)<0s1=s1+x(i);n1=n1+1;elses2=s2+x(i);n2=n2+1;end ends1,n1,s2,n2,m请回答s1,n1,s2,n2,m的结果。
matlab期末考试题目及答案1. MATLAB基础操作题目:请在MATLAB中创建一个名为`myVector`的向量,包含元素1, 2, 3, 4, 5。
答案:在MATLAB命令窗口中输入以下代码即可创建向量:```matlabmyVector = [1, 2, 3, 4, 5];```2. 矩阵运算题目:给定矩阵A和B,计算它们的乘积。
其中矩阵A为:```A = [1 2; 3 4]```矩阵B为:```B = [5 6; 7 8]```答案:在MATLAB中计算矩阵A和B的乘积,可以使用以下代码:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A * B;```结果矩阵C为:```C = [19 22; 43 50]```3. 条件语句题目:编写一个MATLAB函数,判断一个给定的数是否为素数,并返回布尔值。
答案:以下是一个简单的MATLAB函数实现:```matlabfunction result = isPrime(n)if n <= 1result = false;elsefor i = 2:sqrt(n)if mod(n, i) == 0result = false;return;endendresult = true;endend```使用该函数时,只需调用`isPrime(7)`即可判断7是否为素数。
4. 循环结构题目:使用MATLAB编写一个循环,计算并输出1到100之间所有偶数的和。
答案:可以使用以下代码实现:```matlabsumEven = 0;for i = 1:100if mod(i, 2) == 0sumEven = sumEven + i;endenddisp(sumEven);```该代码将输出1到100之间所有偶数的和。
5. 函数编写题目:编写一个MATLAB函数,实现对一个向量进行排序,并返回排序后的向量。
答案:以下是一个简单的MATLAB函数实现:```matlabfunction sortedVector = sortVector(inputVector)sortedVector = sort(inputVector);end```使用该函数时,只需调用`sortedVector = sortVector([5, 2, 8, 3, 1, 6, 4])`即可得到排序后的向量。
一、填空题(每空2分,总共30分)1.已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。
A &B 的运行结果ans= ;A ./B 的运行结果ans= 。
2. 产生4阶全0方阵的命令为 zeros(4) ;产生3阶全1方阵的命令为 ones(3) 。
3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为和 [2,5],[5] 。
4. 标点符号分号可以使命令行不显示运算结果,百分号用来表示该行为注释行。
5. 用if判断语句判断80≥ x >60,在MATLAB中if语言后的判断应写为 if x<=80&x>60 。
6.P, Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),使用的命令是 polyint(P,K) ;求P/Q的解,商和余数分别保存在k和r,使用的命令是 [k,r]=deconv(P,Q) ;7.为了使两个plot的图形在同一个坐标显示,可以使用 hold on 命令进行图形保持;可以使用 grid on 命令为图形添加网格。
8.MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat 中的指令 save my_data ;写出把my_data.mat文件中的变量读取到MATLAB 工作空间内的指令 load my_data 。
二、选择题(每空2分,总共20分)1.下列哪个变量的定义是不合法的 A(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz2.下列哪条指令是求矩阵的行列式的值 C(A) inv (B) diag (C) det (D) eig3.在循环结构中跳出循环,执行循环后面代码的命令为 B(A) return (B) break (C) continue (D) keyboard4. 清空Matlab工作空间内所有变量的指令是 C(A) clc (B) cls (C) clear (D) clf5.用round函数四舍五入对数组[2.486.39 3.93 8.52]取整,结果为 C(A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9]6.已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C(A) a'*b (B) a .*b (C) a*b (D) a-b7.角度[]60x,计算其正弦函数的运算为D45=30(A) SIN(deg2rad(x)) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x))8.下面的程序执行后array的值为 ( A )for k=1:10if k>6break;elsearray(k) = k;endend(A) array = [1, 2, 3, 4, 5, 6] (B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9,10](C) array =6 (D) array =10.9.i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少?(A)a=4, b=4, c=2.0000i (C)(B)a=4, b=2.0000i, c=2.0000i(C)a=2.0000i, b=4, c=2.0000i(D) a=2.0000i, b=2.0000i, c=2.0000i10. 求解方程x4-4x3+12x-9 = 0 的所有解(A)1.0000, 3.0000, 1.7321, -1.7321(B)1.0000, 3.0000, 1.7321i, -1.7321i(C)1.0000i, 3.0000i, 1.7321, -1.7321(D)-3.0000i, 3.0000i, 1.7321, -1.7321三、写出程序的执行结果或写出给定要求的指令(总共35分)1.写出执行以下代码后C,D,E的值 (6分)A=[1,2,3;4:6;7:9];C=[A;[10,11,12]],D=C(1:3,[2 3])E=C(2,[1 2])2.写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 (5分)x=[0,1,0,2,0,3,0,4];for k=1:8if x(k)==0x(k)=k;elsex(k)=2*k+1;endenddisp(x);3.创建符号函数并求解,要求写出步骤和运行结果(7分)(1)创建符号函数f=ax2+bx+c(2)求f=0的解4. 求解以下线性方程组,要求写出程序代码和运行结果(5分)2x1- 3x2+ x3+2x4=8x1+3x2+ x4=6x1- x2+ x3+8x4=17x1+ x2-2x3+2x4=55.绘制函数曲线,要求写出程序代码(12分)(1)在区间[0:2π]均匀的取50个点,构成向量π(2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号四、使用MATLAB语言进行编程(15分)打印出所有的水仙花数。
matlab期末考试题及答案MATLAB期末考试题及答案一、选择题(每题2分,共20分)1. MATLAB中用于创建向量的函数是:A. vectorB. arrayC. linspaceD. ones答案:D2. 下列哪个命令可以计算矩阵的行列式?A. detB. diagC. traceD. rank答案:A3. 在MATLAB中,以下哪个选项是用于绘制三维图形的?A. plotB. plot3C. barD. scatter答案:B4. MATLAB中,用于计算向量范数的函数是:A. normB. meanC. medianD. std答案:A5. 下列哪个命令可以用于创建一个二维数组?A. array2dB. matrixC. create2dD. make2d答案:B6. MATLAB中,用于求解线性方程组的函数是:A. solveB. linsolveC. equationD. linprog答案:A7. 以下哪个函数可以用于生成随机数?A. randB. randomC. randnD. randi答案:A8. MATLAB中,用于实现循环结构的关键字是:A. loopB. forC. whileD. repeat答案:B9. 下列哪个命令可以用于绘制函数图形?A. plotB. graphC. drawD. functionplot答案:A10. MATLAB中,用于计算矩阵特征值的函数是:A. eigB. eigenvalueC. characteristicD. eigen答案:A二、简答题(每题5分,共30分)1. 简述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、矩阵的加法、减法、乘法、转置、求逆、求行列式等。
2. MATLAB中如何实现条件语句?答案:MATLAB中实现条件语句主要使用if-else结构,也可以使用switch-case结构。
3. 请解释MATLAB中的函数定义方式。
for k=1:10if k>6break;elsearray(k) = k;endend(A) array = [1, 2, 3, 4, 5, 6] (B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10](C) array =6 (D) array =10.9.i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少?(A)a=4, b=4, c=2.0000i (C)(B)a=4, b=2.0000i, c=2.0000i(C)a=2.0000i, b=4, c=2.0000i(D) a=2.0000i, b=2.0000i, c=2.0000i10. 求解方程x4-4x3+12x-9 = 0 的所有解(A)1.0000, 3.0000, 1.7321, -1.7321(B)1.0000, 3.0000, 1.7321i, -1.7321i(C)1.0000i, 3.0000i, 1.7321, -1.7321(D)-3.0000i, 3.0000i, 1.7321, -1.7321三、写出程序的执行结果或写出给定要求的指令(总共35分)1. 写出执行以下代码后C,D,E的值 (6分)A=[1,2,3;4:6;7:9];C=[A;[10,11,12]],D=C(1:3,[2 3])E=C(2,[1 2])2. 写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 (5分) x=[0,1,0,2,0,3,0,4];for k=1:8if x(k)==0x(k)=k;elsex(k)=2*k+1;endenddisp(x);3. 创建符号函数并求解,要求写出步骤和运行结果(7分)(1)创建符号函数f=ax2+bx+c(2)求f=0的解4. 求解以下线性方程组,要求写出程序代码和运行结果(5分)5.绘制函数曲线,要求写出程序代码(12分)(1)在区间[0:2π]均匀的取50个点,构成向量π(2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号四、使用MATLAB语言进行编程(15分)打印出所有的水仙花数。
一、填空题(每空1分,20分)1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
、在一个元胞数组A中寻访第2行第3列元胞元素用;寻访数组第2行第3列元胞中所存的内容用。
8、4、MATLAB中clf用于、clc用于、clear用于。
二、简答题(每题5分,共20分)1、简述MATLAB历史指令窗的主要作用。
2、简述空数组的功用。
3、简述MATLAB函数的基本结构。
4、简述绘制二维图形的一般步骤。
三、阅读程序并回答问题(每题4分,共28分)、写出下列指令运行结果。
=zeros(2,4);(:)=1:8;=[2 3 5];(s)a=[10 20 30]'(s)=Sa、写出下列指令运行结果。
=reshape(1:16,2,8)eshape(A,4,4)=[1 3 6 8 9 11 14 16]; (s)=0、写出下列指令运行结果。
=[1,2;3,4];=[-1,-2;2;1];=3;.*B*B.*AS*B4、下面的函数主要完成什么功能?function f=factor(n)f n<=1f=1;lsef=factor(n-1)*n;nd、写出下列指令运行结果。
(1,1)={'this is cell'};{1,2}={[1 2 3;4 5 6]};{2,1}=[1+2*i];{2,2}=A{1,2}{1}+(A{1,2}{1}(1,1)+A{1,2}{1}(2,2)); elldisp(A)、下面的程序完成功能是什么?=0:pi/50:4*pi;0=exp(-t/3);=exp(-t/3).*sin(3*t);lot(t,y,'-r',t,y0,':b',t,-y0,':b')label(‘\bf\it t’);label(‘\bf\it y’);rid on;四、编程题(32分)price<200 没有折扣200≤price<500 3%折扣500≤price<1000 5%折扣1000≤price<2500 8%折扣2500≤price<5000 10%折扣000≤price 14%折扣入所售商品的价格,求其实际销售价格。
一、填空题(每空2分,总共30分)1.已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。
A &B 的运行结果ans= ;A ./B 的运行结果ans= 。
2. 产生4阶全0方阵的命令为 zeros(4) ;产生3阶全1方阵的命令为 ones(3) 。
3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为和 [2,5],[5] 。
4. 标点符号分号可以使命令行不显示运算结果,百分号用来表示该行为注释行。
5. 用if判断语句判断80≥x >60,在MATLAB中if语言后的判断应写为 if x<=80&x>60 。
6. P, Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),使用的命令是 polyint(P,K) ;求P/Q的解,商和余数分别保存在k和r,使用的命令是 [k,r]=deconv(P,Q) ;7.为了使两个plot的图形在同一个坐标显示,可以使用hold on 命令进行图形保持;可以使用 grid on 命令为图形添加网格。
8.MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat中的指令 save my_data ;写出把my_data.mat文件中的变量读取到MATLAB工作空间内的指令 load my_data 。
二、选择题(每空2分,总共20分)1.下列哪个变量的定义是不合法的 A(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz2.下列哪条指令是求矩阵的行列式的值 C(A) inv (B) diag (C) det (D) eig3.在循环结构中跳出循环,执行循环后面代码的命令为 B(A) return (B) break (C) continue (D) keyboard4. 清空Matlab工作空间内所有变量的指令是 C(A) clc (B) cls (C) clear (D) clf5. 用round 函数四舍五入对数组[2.486.39 3.93 8.52]取整,结果为 C(A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9]6. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C(A) a'*b (B) a .*b (C) a*b (D) a-b7. 角度,计算其正弦函数的运算为 D[]604530=x (A) SIN (deg2rad(x)) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x))8. 下面的程序执行后array 的值为 ( A )for k=1:10if k>6break;elsearray(k) = k;endend(A) array = [1, 2, 3, 4, 5, 6] (B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10](C) array =6 (D) array =10.9.i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c 的值分别是多少?(A)a=4, b=4, c=2.0000i (C)(B)a=4, b=2.0000i, c=2.0000i(C)a=2.0000i, b=4, c=2.0000i(D) a=2.0000i, b=2.0000i, c=2.0000i10. 求解方程x4-4x3+12x-9 = 0 的所有解(A)1.0000, 3.0000, 1.7321, -1.7321(B)1.0000, 3.0000, 1.7321i, -1.7321i(C)1.0000i, 3.0000i, 1.7321, -1.7321(D)-3.0000i, 3.0000i, 1.7321, -1.7321三、写出程序的执行结果或写出给定要求的指令(总共35分)1.写出执行以下代码后C,D,E的值 (6分)A=[1,2,3;4:6;7:9];C=[A;[10,11,12]],D=C(1:3,[2 3])E=C(2,[1 2])2.写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 (5分)x=[0,1,0,2,0,3,0,4];for k=1:8if x(k)==0x(k)=k;elsex(k)=2*k+1;endenddisp(x);3.创建符号函数并求解,要求写出步骤和运行结果(7分)(1)创建符号函数f=ax2+bx+c(2)求f=0的解4. 求解以下线性方程组,要求写出程序代码和运行结果(5分)2x1- 3x2+ x3+2x4=8x1+3x2+ x4=6x1- x2+ x3+8x4=17x1+ x2-2x3+2x4=55.绘制函数曲线,要求写出程序代码(12分)(1)在区间[0:2π]均匀的取50个点,构成向量π(2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号四、使用MATLAB语言进行编程(15分)打印出所有的水仙花数。
大学专业试题-Matlab期末考试及答案一、选择题(每题3分,共30分)1、在MATLAB中,图形窗口色图的设置和改变需调用函数(A)color (B) colormap (C) plot (D) change2、MATLAB中‘legend’函数的功能为(A)给图形加标题 (B)在指定位置给图形加注释(C)给图形变色 (D)给图形添加图例3、已知462837A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,则在MATLAB中调用命令A(5)的结果为(A) 3 (B)8 (C) 无结果 (D)74、MATLAB中对图形窗口进行灵活分割的命令是(A)plot (B)subplot(C)aplot (D)ploval5.下列哪个变量的定义是不合法的(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz6. 在循环结构中跳出循环,执行循环后面代码的命令为(A) return (B) break (C) continue (D) keyboard7. 清空Matlab工作空间内所有变量的指令是(A) clc (B) cls (C) clear (D) clf8. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为(A) a'*b (B) a .*b (C) a*b (D) a-b9、MATLAB中与linspace(3,7,11)等价的命令为(A) 3:7 (B) 3:0.4:7 (C) 3:4/11:7 (D) 3:7/10:710. 下面的程序执行后array的值为for k=1:10if k>6break;elsearray(k) = k;endend(A) array = [1, 2, 3, 4, 5, 6](B) array = [1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10](C)array=6 (D) array =10.二.填空题(每空2分,共30分)1、x为0~4pi,步长为0.1pi的向量,使用命令0::01*pi: 4*pi 创建。
一、填空题(本题满分30分,每空3分)1.设有程序A=[2,0,1,0;1,0,1,5;0, 6 ,2, 3];B=[1,2,-1;1,3,1];C=A(1:3,[1,2]);D=size(C)- length(B(2,:));F= C.*B ’将下列命令的运行结果填在横线上0*、0D = [0 -1] ; F= [2 0;2 0;0 6] .2. A=[2,3,2,1;1,2,2,1; 1,2,3,-2];A1=sum(A>A(2,1));A(2,:)=[],A2=A.^2-4A1= ; A2= ;3.P=[1,2,5,4;2,2,1,3];max(P,[ ],1)= [2 2 5 4] ;mean(P,2)= [3 2] .二、(本题满分10分)试编写计算程序画出曲线与曲面图形.22,22,)1((2).);20(cos sin (1).223322≤≤-≤≤-++=≤≤⎪⎩⎪⎨⎧==--y x y x e x z t t y t x y xπ%1 %2t=0:0.1: 2*pi; [x,y]=meshgrid(-2:0.1:2);x= sin(t).^3; z=(x.^2+1).* exp(-x.^2- y.^2+)+x .^2.*y; y= cos (t).^3; mesh(x,y,z)plot(x,y)三、(本题满分12分)编写程序解决下列问题:(1)试产生100⨯4阶矩阵使其元素在0—100之间的随机整数,可将此矩阵理解为100名同学的四门课程(课程1, 课程2, 课程3, 课程4)的成绩.(2)计算出每门课程和每位同学的平均成绩;(3)统计出总的优秀人次(90分及以上为优秀);(4)统计出四门课程成绩至少有两门课程不及格的人数.解:(1) a=fix((100-0+1)*rand(100,4));(2) mean(a) mean(a,2)(3)sum(sum(a>=90,2)==4)(4)sum(sum(a<60,2)>=2)四、(本题满10分)).50,20(]2,0[)2()),(1:(;)1(,sin )1()(11==-=∑=+n n x fun y function kx k x f nk k 分别取内图形用子图画出该函数在程序的第一句为返回该函数并保存试编写函数式文件程序设π(1). function y=fun1(x,n) (2). x=0:0.1:2*pi;y=0; y1= fun1 (x,20);for k=1:n y2= fun1 (x,50);y=y+ ((-1)^(k+1)*sin(k*x))/k; subplot(2,1,1),plot(x,y1)end subplot(2,1,2),plot(x,y2)y五、(本题满分10分)试利用微分方程的数值解法写出下列微分方程的求解步骤和MATLAB 程序.0)0(,2)0(,3='==-'+''x x t x x t x .(t 的变化区间为[0,10]).第一步:先将高阶微分方程转化为一阶微分方程组:选择状态变量x x x x ='=21,,则原方程化为2)0(,0)0(.,32112211==⎩⎨⎧='++-='x x x x t x tx x第二步:建立函数文件function dxdt = fun2(t,x)dxdt = [-3*t*x(1)+ x(2)+t; x(1)];第三步:求解微分方程,命令如下:[t,x]=ode45(@fun2,[0,10],[0;2]);)(cos cos lim .3;,)(,,1ln sin .2;2.1:,sin 022x e x x x A dx x A dx dA x s e x x x A x e 、x x x x --⎥⎥⎦⎤⎢⎢⎣⎡+=+=→-⎰计算极限并计算生成符号矩阵的根求方程下列各题运用符号运算功能计算六 的解函数求解微分方程用1)0()0()0()0(,2.4)4(='''=''='==+x x x x e x x dsolve t六、参考程序:1. solve('exp(x)=x^2+2')2.syms x sA=[x*sin(x),log(x);exp(-x),1/(s+x)]diff(A)int(A)A*A3.syms xlimit((cos(x)-cos(x)^(1/2))/x/(exp(sin(x))-1))4.dsolve('D4x+x=2*exp(t)','x(0)=1','Dx(0)=1','D2x(0)=1','D3x(0)=1')⎪⎩⎪⎨⎧=-++=--++03320224:.2122212212221x x x x x x x x x fsolve 组求解下面的非线性方程函数以及符号运算功能用七解一:function y=fc(x)y(1)=4*x(1).^2+x(2).^2+2*x(1).*x(2)-x(2)-2y(2)=2*x(1).^2+x(2).^2+3*x(1).*x(2)-3y=[y(1) y(2)];x0=[1 1];fsolve(@fc,x0)解二: syms x1 x2[x1 x2]=solve(‘4*x1^2+ x2^2+2* x1* x2- x2-2=0’,’ 2*x1^2+ x2^2+3* x1* x2-3=0’,’ x1’,’ x2’)《MA TLAB程序设计》参考程序一、(30分)1.D =0 -1F =2 02 00 62.A1 =1 3 3 0A2 =0 5 0 -3-3 0 5 03.max(P,[ ],1)=2 2 5 4 mean(P,2)=324.x=155.b =0 1 4-1 0 1-4 -1 06.z =20107.285二、(10分)%1t=0:0.1: 2*pi;x= sin(t).^3;y= cos (t).^3;plot(x,y)%2[x,y]=meshgrid(-2:0.1:2);z=(x.^2+1).* exp(-x.^2- y.^2+)+x.^2.*y; mesh(x,y,z)三、(16分)syms xlimit((x-1)*log(x)/(exp(x-1)-1),x,1)%2solve('exp(x)-3*cos(x)+1=0')%3syms xM=[ exp(-x), x;sin(x),exp(-0.1*x)* cos(3*x)]diff(M,2)int(M,x,0,pi)%4 syms t xdsolve('Dx-6*x=exp(-t) ','x(0)=1')四、(12分)x=0.5:9.5;y=[ 0.16, 0.40, 0.66, 0.75, 0.88, 1.0, 1.1, 1.1, 1.2, 1.3];x1=1./x;y1=1./y;p=polyfit(x1,y1,1);a=p(2); b= p(1);ye=x./(a*x+b);plot(x,y,'ro', x, ye, 'b-')grid onxlabel('自变量x ')ylabel('因变量y ')title('因变量y与自变量x的拟合曲线图')五、(12分)%参考程序cj=round(normrnd(70,10,100,4));for i=1:100for j=1:4if cj(i,j)>100 cj(i,j)=100;elseif cj(i,j)<0 cj(i,j)=0;endendendkmean=round(mean(cj))disp('课程1 课程2 课程3 课程4')disp(sprintf(' %4d%7d%8d%8d ' ,kmean(1),kmean(2),kmean(3),kmean(4))) studentmean=round(mean(cj,2));studentnumber=[1:100]';[studentnumber, studentmean]c=sum(sum(cj>=90))d=sum(sum(cj<60,2)>=2)六、(10分)(1). function y=fun1(x,n)y=0;for k=1:ny=y+ ((-1)^k*sin(k*x))/k;endy(2). x=0:0.1:2*pi;y1= fun1 (x,20);y2= fun1 (x,50);subplot(211),plot(x,y1)subplot(212),plot(x,y2)七、(10分)第一步:先将高阶微分方程转化为一阶微分方程组:选择状态变量x x x x ='=21,,则原方程化为2)0(,0)0(.,32112211==⎩⎨⎧='++-='x x x x t x tx x第二步:建立函数文件function dxdt = fun2(t,x)dxdt = [-3*t*x(1)+ x(2)+t; x(1)];第三步:求解微分方程,命令如下:[t,x]=ode45(@fun2,[0,10],[0;2])补充:1.matlab 中清屏的命令是———clc2.matlab 中用于清除工作空间变量的命令是——clear3.在【0,5】上求函数f=(x-3)^2-1的最小值。
matlab期末试题库及答案一、选择题1. 下列关于MATLAB的说法中,错误的是:A. MATLAB是一种高级技术语言和环境B. MATLAB可以进行数值计算和数据可视化C. MATLAB支持矩阵运算和线性代数操作D. MATLAB无法处理大规模数据答案:D2. 在MATLAB中,下列哪个命令用于清除当前工作空间的变量:A. clearB. deleteC. closeD. refresh答案:A3. MATLAB中,用于创建行向量的命令是:A. rowvecB. linerowC. linspaceD. colon答案:D4. 在MATLAB中,如何计算数组a的平均值?A. mean(a)B. average(a)C. avg(a)D. meanval(a)答案:A5. 下列哪个命令用于将MATLAB中的向量a按从小到大排序?A. sort(a)B. order(a)C. arrange(a)D. rank(a)答案:A二、填空题1. MATLAB中表示pi的符号是______。
答案:pi2. MATLAB中用于计算2的10次方的命令是______。
答案:2^103. MATLAB中通过命令______可以生成从1到10的整数向量。
答案:1:104. MATLAB中用于求解线性方程组的命令是______。
答案:solve5. MATLAB中用于生成随机数的命令是______。
答案:rand三、计算题1. 计算下列矩阵的乘积:A = [1 2 3; 4 5 6; 7 8 9]B = [9 8 7; 6 5 4; 3 2 1]答案:C = A * B2. 解下列线性方程组:2x + y = 43x - y = 2答案:syms x yeq1 = 2*x + y == 4;eq2 = 3*x - y == 2;sol = solve([eq1, eq2], [x, y]);四、应用题题目:某电商公司的销售数据如下,请使用MATLAB进行分析和可视化。
MATLAB期末考试试卷及其参考答案一、填空题(每空1分,20分)1、MATLAB常用操作界面包括、工作空间窗口、、、存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
7、在一个元胞数组A中寻访第2行第3列元胞元素用;寻访数组第2行第3列元胞中所存的容用。
8、4、MATLAB中clf用于、clc用于、clear用于。
二、简答题(每题5分,共20分)1、简述MATLAB历史指令窗的主要作用。
2、简述空数组的功用。
3、简述MATLAB函数的基本结构。
4、简述绘制二维图形的一般步骤。
三、阅读程序并回答问题(每题4分,共28分)1、写出下列指令运行结果。
A=zeros(2,4);A(:)=1:8;s=[2 3 5];A(s)Sa=[10 20 30]'A(s)=Sa2、写出下列指令运行结果。
A=reshape(1:16,2,8)reshape(A,4,4)s=[1 3 6 8 9 11 14 16];A(s)=03、写出下列指令运行结果。
A=[1,2;3,4];B=[-1,-2;2;1];S=3;A.*BA*BS.*AS*B4、下面的函数主要完成什么功能?function f=factor(n)if n<=1f=1;elsef=factor(n-1)*n;end5、写出下列指令运行结果。
ch=‘ABc123d4e56Fg9’;subch=ch(1:5)revch=ch(end:-1:1)k=find(ch>=‘a’&ch<=‘z’);ch(k)=ch(k)-(‘a’-‘A’);char(ch)6、写出下列指令运行结果。
第 1 页 共 11 页
一、填空题(每空2分,总共30分)
1. 已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行
的结果。
A & B 的运行结果ans= ;
A ./ B 的运行结果ans= 。
2. 产生4阶全0方阵的命令为 zeros(4) ;产生3阶全1方阵的命
令为 ones(3) 。
3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为
和 [2,5],[5] 。
4. 标点符号 分号 可以使命令行不显示运算结果, 百分号 用来表
示该行为注释行。
5. 用if判断语句判断80≥ x >60,在MATLAB中if语言后的判断
应写为 if x<=80&x>60 。
第 2 页 共 11 页
6. P, Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),
使用的命令是 polyint(P,K) ;求P/Q的解,商和余数分别保存在k和r,使用的
命令是 [k,r]=deconv(P,Q) ;
7. 为了使两个plot的图形在同一个坐标显示,可以使用 hold on 命令进行图形
保持;可以使用 grid on 命令为图形添加网格。
8. MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat
中的指令 save my_data ;写出把my_data.mat文件中的变量读取到MATLAB
工作空间内的指令 load my_data 。
二、选择题(每空2分,总共20分)
1.下列哪个变量的定义是不合法的 A
(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz
2. 下列哪条指令是求矩阵的行列式的值 C
(A) inv (B) diag (C) det (D) eig
3. 在循环结构中跳出循环,执行循环后面代码的命令为 B
(A) return (B) break (C) continue (D) keyboard
4. 清空Matlab工作空间内所有变量的指令是 C
(A) clc (B) cls (C) clear (D) clf
第 3 页 共 11 页
5. 用round函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为 C
(A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9]
6. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C
(A) a'*b (B) a .*b (C) a*b (D) a-b
7. 角度604530x,计算其正弦函数的运算为 D
(A) SIN(deg2rad(x)) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x))
8. 下面的程序执行后array的值为 ( A )
for k=1:10
if k>6
break;
else
array(k) = k;
end
end
(A) array = [1, 2, 3, 4, 5, 6] (B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9,
10]
(C) array =6 (D) array =10.
9.i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少?
第 4 页 共 11 页
(A)a=4, b=4, c=2.0000i (C)
(B)a=4, b=2.0000i, c=2.0000i
(C)a=2.0000i, b=4, c=2.0000i
(D) a=2.0000i, b=2.0000i, c=2.0000i
10. 求解方程x4-4x3+12x-9 = 0 的所有解
(A)1.0000, 3.0000, 1.7321, -1.7321
(B)1.0000, 3.0000, 1.7321i, -1.7321i
(C)1.0000i, 3.0000i, 1.7321, -1.7321
(D)-3.0000i, 3.0000i, 1.7321, -1.7321
三、写出程序的执行结果或写出给定要求的指令(总共35分)
1. 写出执行以下代码后C,D,E的值 (6分)
A=[1,2,3;4:6;7:9];
C=[A;[10,11,12]],
D=C(1:3,[2 3])
E=C(2,[1 2])
2. 写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 (5分)
x=[0,1,0,2,0,3,0,4];
for k=1:8
第 5 页 共 11 页
if x(k)==0
x(k)=k;
else
x(k)=2*k+1;
end
end
disp(x);
3. 创建符号函数并求解,要求写出步骤和运行结果(7分)
(1)创建符号函数f=ax2+bx+c
(2)求f=0的解
4. 求解以下线性方程组,要求写出程序代码和运行结果(5分)
2x1- 3x2+ x3+2x4=8
x1+3x2+ x4=6
x1- x2+ x3+8x4=1
7x1+ x2-2x3+2x4=5
5.绘制函数曲线,要求写出程序代码(12分)
(1)在区间[0:2π]均匀的取50个点,构成向量π
(2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点
划线,标记点为圆圈;y2为蓝色虚线,标记点为星号
四、使用MATLAB语言进行编程(15分)
第 6 页 共 11 页
打印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和
等于该数本身。
第 7 页 共 11 页
一、填空题
1、
ans =
0 1 1
1 1 0
ans =
0 2.2500 2.0000
1.0000 0.6000 NaN
2、 zeros(4) ones(3)
3、 [ 2 5 ] [ 5 ]
4、 ; %
5、 if x<= 80 & x>60
6、 polyint(P,K) [k,r]= deconv (P,Q)
7、 hold on grid on
8、 save my_data Load my_data
二、选择题
1、 A
2、 C
3、 B
4、 C
第 8 页 共 11 页
5、 C
6、 C
7、 D
8、 A
9、 C
10、 A
三、写出程序的执行结果或写出给定要求的指令
1、
c =
0 + 2.0000i
D =
2 3
5 6
8 9
E =
4 5
2、
1 5 3 9 5 13 7 17
第 9 页 共 11 页
3、
>> syms a b c x
>> s = a*x^2 + b*x + c;
>> solve(s)
ans =
[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))]
[ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]
4、
>> syms a b c x
>> syms x1 x2 x3 x4
>> clear
>> syms x1 x2 x3 x4
>> f = 2*x1 + 3*x2 + x3 + 2*x4 -8;
>> g = x1 + 3*x2 + x4 - 6;
>> h = x1 - x2 + x3 + 8*x4 - 1;
>> i = 7*x1 + x2 - 2*x3 + 2*x4 -5;
>> [x1,x2,x3,x4] = solve(f,g,h,i)
x1 =
13/17
第 10 页 共 11 页
x2 =
320/187
x3 =
212/187
x4 =
19/187
5、
t = linspace(0, 2*pi, 50);
plot(t,y1,'r-o' ,t,y2,'b--*');
四、使用MATLAB语言进行编程
for k = 100:999
a = fix(k/100);
b = rem(fix(k/10),10);
c = rem(k,10);
if a.^3 + b.^3 + c.^3 == k
fprintf( “%u,\t\t”, k ) ;
第 11 页 共 11 页
end
end