MATLAB期末考试卷与答案
matlab期末复习题及答案
matlab期末复习题及答案1. MATLAB基础操作在MATLAB中,如何创建一个名为"myMatrix"的3x3矩阵,其元素分别为1, 2, 3, 4, 5, 6, 7, 8, 9?答案:在MATLAB中,可以通过直接输入矩阵元素来创建矩阵。
例如,要创建一个名为"myMatrix"的3x3矩阵,可以使用以下命令:```matlabmyMatrix = [1 2 3; 4 5 6; 7 8 9];```这样,MATLAB就会创建一个3x3的矩阵,其元素按照行顺序排列。
2. 矩阵运算给定两个矩阵A和B,其中A = [1 2; 3 4],B = [5 6; 7 8],计算矩阵A和B的和。
答案:在MATLAB中,可以使用加号(+)来计算两个矩阵的和。
对于给定的矩阵A和B,可以使用以下命令来计算它们的和:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A + B;```执行上述命令后,矩阵C的结果将是:```C = [6 8;10 12];```3. 条件语句编写一个MATLAB脚本,判断一个给定的数n是否为质数,并输出相应的信息。
答案:在MATLAB中,可以使用if-else语句来判断一个数是否为质数。
以下是一个简单的脚本示例:```matlabn = input('请输入一个数:');if mod(n, 2) == 0 && n > 2disp('该数不是质数');elseif n == 1disp('1不是质数');elseisPrime = true;for i = 2:sqrt(n)if mod(n, i) == 0isPrime = false;break;endendif isPrimedisp('该数是质数');elsedisp('该数不是质数');endend```该脚本首先接收用户输入的数n,然后通过一个for循环检查n是否有除了1和它自身以外的因数,从而判断n是否为质数。
matlab期末复习题及答案
matlab期末复习题及答案MATLAB期末复习题及答案一、选择题1. MATLAB中用于创建向量的函数是:A. vectorB. createVectorC. vectorizeD. [ ]答案:D2. 下列哪个命令可以计算矩阵的行列式?A. det(A)B. matrixDeterminant(A)C. determinant(A)D. A.det答案:A3. MATLAB中,以下哪个函数可以进行矩阵的转置?A. transposeB. transC. flipD. rot90答案:B4. 以下哪个函数可以用于绘制三维图形?A. plotB. scatterC. surfD. bar3答案:C5. 以下哪个命令可以计算向量的范数?A. norm(v)B. magnitude(v)C. length(v)D. distance(v)答案:A二、填空题1. MATLAB中,使用________命令可以创建一个与原矩阵相同大小的零矩阵。
答案:zeros2. 要生成一个从0到1的线性空间向量,包含101个元素,应使用________命令。
答案:linspace(0,1,101)3. 使用MATLAB绘制函数y=x^2的图形,可以使用________命令。
答案:plot(x, x.^2)4. 要对矩阵进行元素乘,应使用________操作符。
答案:.*5. MATLAB中,使用________函数可以求解线性方程组。
答案:inv三、简答题1. 请简述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、转置、求逆、行列式计算、矩阵乘法、矩阵加法、矩阵减法等。
2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有for循环和while循环两种方式。
for循环用于已知迭代次数的情况,while循环用于迭代次数不确定的情况。
四、计算题1. 给定矩阵A和B如下:A = [1 2; 3 4];B = [5 6; 7 8];请计算A与B的矩阵乘积,并求出结果矩阵的行列式。
MATLAB期末考试试卷及答案
一、填空题(每空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期末考试题目及答案1. 题目:编写一个MATLAB函数,实现矩阵的转置操作。
答案:可以使用`transpose`函数或`.'`操作符来实现矩阵的转置。
例如,对于一个矩阵`A`,其转置可以通过`A'`或`transpose(A)`来获得。
2. 题目:使用MATLAB求解线性方程组Ax=b,其中A是一个3x3的矩阵,b是一个3x1的向量。
答案:可以使用MATLAB内置的`\`操作符来求解线性方程组。
例如,如果`A`和`b`已经定义,求解方程组的代码为`x = A\b`。
3. 题目:编写MATLAB代码,计算并绘制函数f(x) = sin(x)在区间[0, 2π]上的图像。
答案:首先定义x的范围,然后计算对应的函数值,并使用`plot`函数绘制图像。
代码示例如下:```matlabx = linspace(0, 2*pi, 100); % 定义x的范围y = sin(x); % 计算函数值plot(x, y); % 绘制图像xlabel('x'); % x轴标签ylabel('sin(x)'); % y轴标签title('Plot of sin(x)'); % 图像标题```4. 题目:使用MATLAB编写一个脚本,实现对一个给定的二维数组进行排序,并输出排序后的结果。
答案:可以使用`sort`函数对数组进行排序。
如果需要对整个数组进行排序,可以使用`sort`函数的两个输出参数来获取排序后的索引和值。
代码示例如下:```matlabA = [3, 1, 4; 1, 5, 9; 2, 6, 5]; % 给定的二维数组[sortedValues, sortedIndices] = sort(A(:)); % 对数组进行排序sortedMatrix = reshape(sortedValues, size(A)); % 将排序后的值重新构造成矩阵disp(sortedMatrix); % 显示排序后的结果```5. 题目:编写MATLAB代码,实现对一个字符串进行加密,加密规则为将每个字符的ASCII码值增加3。
matlab期末考试题及答案
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中的函数定义方式。
(完整word版)Matlab期末复习题(答案)
一、 选择题(有10个题,共20分)1.有一个4×4矩阵A,表示取得矩阵A 的第一行和第二行的第二列至第四列所有元素的命令是( A )(A) A(1:2,2:4) (B) A(2:4,1:2) (C) A(1:2:4) (D) A(4:2:1)2.将一个图形窗口分成3×4个子区并表示第一个子区的命令是( C )A . subplot(12,1)B .subplot(1,12)C .subplot(3,4,1)D .subplot(1,3,4)3.利用Matlab 的符号计算功能计算微分方程初值问题⎪⎩⎪⎨⎧=+-=2)1(42y x x y dx dy 在区间 [1,2]上的解析解时所用到的函数是( D )(A) ode23 (B) ode45 (C) solve (D) dsolve4.以下有关Matlab 子函数的性质中不正确的是( D )(A) 子函数只能被处于同一个文件的主函数或其他子函数调用;(B) 在M 函数文件中,任何指令通过“名字”对函数进行调用时,子函数的优先级仅次于内装函数;(C) 在M 函数文件内,主函数的位置不可改变,但子函数的排列次序可以任意改变;(D) help, lookfor 等帮助指令都能提供关于子函数的任何帮助信息。
5.以下语句中生成按钮控件的语句是( B )(A) h_1=uimenu(gcf,'Label','&Blue');(B) h_1=uicontrol(gcf,'style','push', 'string','grid off','callback','grid off');(C) h_1=uicontrol(gcf,'style','text', 'horizontal','left','string',{'输入'});(D) h_1=axes('unit','normalized','position',[0,0,1,1],'visible','off');6.以下有关Matlab 函数及其句柄的说法中正确的是( A,C )(A) 在该函数的目录下可定义该函数的句柄,句柄定义后,可用feval 函数和句柄在任何目录下调用该函数;(B) 函数不在Matlab 的当前工作目录下不可执行,但可以用feval 函数和句柄调用该函数;(C) 函数不在Matlab 的当前工作目录下时,可以定义函数的句柄;(D) 函数不在Matlab 的当前工作目录下时,不可以定义函数的句柄。
MATLAB期末考试试卷及其参考答案.doc
一、填空题(每空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%折扣入所售商品的价格,求其实际销售价格。
大学专业试题-Matlab期末考试及答案
大学专业试题-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')b二、选择题(一题3分,共15分)1、下列表示可以作为MATLAB的变量的是(D )A. abcd-2B. xyz_2#C. @hD. X_1_a2、如果x=1: 2 : 8,则U x(1)和x(4)分别是(B )A. 1, 8B. 1,7C. 2,8D. 2,73、指出下列错误的指令(B)。
A.symsa b;B. symsa, b;C.syms('a',’b');D. syms('a','b','positive');4、下列哪条指令是求矩阵的行列式的值(C)。
A .inv B. diag C. det D.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); fori=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期末考试卷及其参考答案
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、写出下列指令运行结果。
MATLAB期末考试试卷及答案教学内容
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 。
x=[0,1,0,2,0,3,0,4]; for k=1:8
if x(k)==0 x(k)=k;
else x(k)=2*k+1;
end end disp(x);
仅供学习与交流,如有侵权请联系网站删除 谢谢5
精品资料
3. 创建符号函数并求解,要求写出步骤和运行结果(7 分) (1)创建符号函数 f=ax2+bx+c (2)求 f=0 的解
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
(完整word版)Matlab期末复习题(答案)
一、 选择题(有10个题,共20分)1.有一个4×4矩阵A,表示取得矩阵A 的第一行和第二行的第二列至第四列所有元素的命令是( A )(A) A(1:2,2:4) (B) A(2:4,1:2) (C) A(1:2:4) (D) A(4:2:1)2.将一个图形窗口分成3×4个子区并表示第一个子区的命令是( C )A . subplot(12,1)B .subplot(1,12)C .subplot(3,4,1)D .subplot(1,3,4)3.利用Matlab 的符号计算功能计算微分方程初值问题⎪⎩⎪⎨⎧=+-=2)1(42y x x y dx dy 在区间 [1,2]上的解析解时所用到的函数是( D )(A) ode23 (B) ode45 (C) solve (D) dsolve4.以下有关Matlab 子函数的性质中不正确的是( D )(A) 子函数只能被处于同一个文件的主函数或其他子函数调用;(B) 在M 函数文件中,任何指令通过“名字”对函数进行调用时,子函数的优先级仅次于内装函数;(C) 在M 函数文件内,主函数的位置不可改变,但子函数的排列次序可以任意改变;(D) help, lookfor 等帮助指令都能提供关于子函数的任何帮助信息。
5.以下语句中生成按钮控件的语句是( B )(A) h_1=uimenu(gcf,'Label','&Blue');(B) h_1=uicontrol(gcf,'style','push', 'string','grid off','callback','grid off');(C) h_1=uicontrol(gcf,'style','text', 'horizontal','left','string',{'输入'});(D) h_1=axes('unit','normalized','position',[0,0,1,1],'visible','off');6.以下有关Matlab 函数及其句柄的说法中正确的是( A,C )(A) 在该函数的目录下可定义该函数的句柄,句柄定义后,可用feval 函数和句柄在任何目录下调用该函数;(B) 函数不在Matlab 的当前工作目录下不可执行,但可以用feval 函数和句柄调用该函数;(C) 函数不在Matlab 的当前工作目录下时,可以定义函数的句柄;(D) 函数不在Matlab 的当前工作目录下时,不可以定义函数的句柄。
matlab期末考试试题及答案
matlab期末考试试题及答案### MATLAB期末考试试题及答案#### 一、单选题(每题2分,共20分)1. MATLAB中,以下哪个函数用于计算矩阵的逆?A. invB. detC. eigD. rank答案:A2. MATLAB中,如何生成一个1到10的向量?A. `1:10`B. `1..10`C. `1..10`D. `1..10`答案:A3. MATLAB中,以下哪个命令用于绘制函数f(x)=x^2的图像?A. `plot(x, x^2)`B. `plot(x, f(x))`C. `fplot(x^2)`D. `fplot(x, x^2)`答案:A4. MATLAB中,如何计算矩阵A和B的点积?A. `dot(A, B)`B. `A * B`C. `A .* B`D. `A . B`答案:C5. MATLAB中,以下哪个函数用于求解线性方程组?A. `solve`B. `fsolve`C. `ode45`D. `fminsearch`答案:A#### 二、填空题(每题3分,共15分)1. MATLAB中,使用____函数可以计算矩阵的行列式。
答案:det2. 若向量`x = [1, 2, 3]`,则`x(2)`的值为____。
答案:23. MATLAB中,使用____函数可以创建一个3x3的单位矩阵。
答案:eye4. 若要在MATLAB中绘制函数f(x)=sin(x)的图像,可以使用____函数。
答案:plot5. MATLAB中,使用____函数可以计算矩阵的特征值。
答案:eig#### 三、编程题(每题10分,共30分)1. 编写一个MATLAB函数,计算并返回一个向量中所有元素的平方和。
```matlabfunction sum_of_squares = calculateSumOfSquares(vector)sum_of_squares = sum(vector.^2);end```2. 编写一个MATLAB脚本,使用while循环计算1到100之间所有奇数的和。
MATLAB考核期末(含答案)
一、微分方程求解。
(15分)设1)(8)(4)(2)(2233=+++t y dt t dy dt t y d dt t y d ,0)0(=y ,1)0(=dtdy ,0)0(22=dt y d 用ode45方法求微分方程的解。
要求: 1)仿真时间t=30秒2)结果绘制在一张图中,包括t y -曲线,一阶t y -'曲线,二阶t y -''曲线,三阶t y -'''曲线3)用图例命令分别说明四条曲线为“t y -”,“t y -'”,“t y -''” ,“t y -'''” 4)定义横坐标为“时间”,纵坐标为“输出”,图形标题名称为“微分方程的解”解:系统方程为 1)(8)(4)(2)(2233=+++t y dt t dy dt t y d dt t y d , 这是一个单变量三阶常微分方程。
将上式写成一个一阶方程组的形式,这是函数ode45调用规定的格式。
令:y y =)1()1()2(∙∙==y y y)2()1()3(∙∙∙∙∙===y y y y⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡∙∙∙)2(4)3(2)1(81)3()2()3()2()1(y y y y y y y y函数文件程序:function ydot=myfun1(t,y)ydot=[y(2);y(3);1-8*y(1)-2*y(3)-4*y(2)];主文件程序: t=[0 30]; y0=[0;1;0];[tt,yy]=ode45(@myfun1,t,y0);y=(1-yy(:,3)-2*yy(:,2)-4*yy(:,1))/8;plot(tt,y,'r',tt,yy(:,1),'k',tt,yy(:,2),'-g',tt,yy(:,3),'-.b'); legend('y-t','y ˊ-t','y ˊˊ-t','y ˊˊˊ-t') title('微分方程的解') xlabel('时间') ylabel('输出')运行程序后输出图形如下:二、数值计算,编程完成以下各题(共20分,每小题5分)1、画出函数5505.025.55.15.1cos 5)5(sin )(2x x x x ex x f x +++-=在区间[3, 5]的图形,求出该函数在区间[3, 5]中的最小值点m in x 和函数的最小值m inf .解:程序如下x=3:0.05:5;y=(sin(5*x).^2).*exp(0.05*x.^2)-5*(x.^5).*cos(1.5*x)+1.5*abs(x+5.5)+x.^2.5; plot(x,y);fn='(sin(5*x).^2).*exp(0.05*x.^2)-5*(x.^5).*cos(1.5*x)+1.5*abs(x+5.5)+x.^2.5'; [xmin,fmin]=fminbnd(fn,3,5) hold onplot(xmin,fmin,'r*'); Xlabel('x') Ylabel('f(x)')经过运行后得到的图像截图如下:运行后的最小值点m in x =4.6051,m in f = -8.3383e+003。
matlab期末考试试卷及参考答案
一、填空题(本题满分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考试题及答案
期末matlab考试题及答案注意:以下内容为虚构的期末MATLAB考试题目及答案,并非真实情况。
一、选择题1. 在MATLAB中,以下哪个命令可以将矩阵A的第一列元素求和?A) sum(A(:,1))B) sum(A(1,:))C) sum(A(1))D) sum(A(:,1))答案:A) sum(A(:,1))2. 对于向量x = [1, 2, 3, 4],以下哪个命令可以将x的元素逆序排列?A) flip(x)B) reverse(x)C) sort(x,'descend')D) sort(x,'ascend')答案:A) flip(x)3. 如果一个函数文件的文件名为"myFunction.m",那么在MATLAB中如何调用该函数?A) myFunction.mB) call myFunctionC) run myFunctionD) myFunction答案:D) myFunction4. 在MATLAB中,以下哪个命令可以生成一个在-1到1范围内均匀分布的10个数的向量?A) linspace(-1, 1, 10)B) rand(1, 10)*2-1C) linspace(1, 10, -1)D) randi([-1, 1], 1, 10)答案:B) rand(1, 10)*2-15. 对于矩阵A和B,以下哪个命令可以将它们进行垂直方向的拼接?A) vertcat(A, B)B) concat(A, B, 'vertical')C) merge(A, B, 'vertical')D) [A; B]答案:D) [A; B]二、填空题1. 假设有一个向量x = [1, 2, 3, 4],使用MATLAB命令求x的最大值。
答案:max(x)2. 假设有一个矩阵A = [1, 2, 3; 4, 5, 6; 7, 8, 9],使用MATLAB命令求A的行数。
matlab期末试题库及答案
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期末考试试卷及其参考答案..
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、写出程序的执行结果或写出给定要求的指令(总共 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分)
打印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和 等于该数本身。
一、填空题
1、
ans =
011
110
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
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、 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
5、 C 6、 C 7、 D 8、 A 9、 C 10、 A
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.0000i
8. MATLAB 的工作空间中有三个 变量 v1, v2, v3,写出把它们保 存到文件 my_data.mat 中的指令 save my_data ;写出把 my_data.mat 文件中的变 量读取到 MATLAB 工作空间内的指令 load my_data 。
二、选择题(每空 2 分,总共 20 分)
4. 清空 Matlab 工作空间内所有变量的指令是 C (A) clc (B) cls (C) clear (D) clf
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]
一、填空题(每空 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) 。
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] (C) array =6
(B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] (D) array =10.
5.绘制函数曲线,要求写出程序代码(12 分) (1)在区间[0:2π]均匀的取 50 个点,构成向量π (2)在同一窗口绘制曲线 y1=sin(2*t-0.3); y2=3cos(t+0.5);要求 y1 曲线为红色点
划线,标记点为圆圈;y2 为蓝色虚线,标记点为星号
四、使用 MATLAB 语言进行编程(15 分)
6. P, Q 分别是个多项式的系数矢量,求 P 对应的多项式的积分(对应的常数项为 K), 使用的命令是 polyint(P,K) ;求 P/Q 的解,商和余数分别保存在 k 和 r,使用的 命令是 [k,r]=deconv(P,Q) ;
7. 为了使两个 plot 的图形在同一个坐标显示,可以使用 hold on 命令进行图形 保持;可以使用 grid on 命令为图形添加网格。
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
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
x=[0,1,0,2,0,3,0,4]; for k=1:8
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 分)
6. 已知 a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C (A) a'*b (B) a .*b (C) a*b (D) a-b
7. 角度 x 30 45 60,计算其正弦函数的运算为 D
(A) SIN(in(deg2rad(x))