matlab习题
matlab考试题库及答案大学

matlab考试题库及答案大学# MATLAB考试题库及答案大学一、选择题1. MATLAB中用于生成0到1之间均匀分布随机数的函数是: - A. rand- B. randi- C. randperm- D. randn答案:A2. 下列哪个命令可以用于绘制函数图像?- A. plot- B. text- C. title- D. xlabel答案:A3. MATLAB中,以下哪个不是矩阵的属性?- A. size- B. length- C. rank- D. transpose答案:D4. 以下哪个函数可以用于求解线性方程组?- A. solve- B. linsolve- C. linprog- D. fsolve答案:A5. MATLAB中,用于计算矩阵特征值的函数是:- A. eig- B. eign- C. eigen- D. eigenvalue答案:A二、填空题1. MATLAB的基本数据单位是________。
答案:矩阵2. 使用MATLAB进行数值计算时,可以利用________来存储数据。
答案:变量3. MATLAB中的向量可以是________或________。
- 答案:行向量;列向量4. 矩阵的转置可以通过________操作实现。
答案:.'5. MATLAB中,使用________函数可以计算矩阵的行列式。
答案:det三、简答题1. 简述MATLAB中使用循环结构的注意事项。
答案:在MATLAB中使用循环结构时,应注意以下几点:确保循环体内部逻辑正确,避免无限循环;使用for循环时,循环变量的初始化和步长设置要合理;使用while循环时,循环条件要明确,确保循环能够正常退出。
2. 描述MATLAB中如何实现数组的多维索引。
答案:在MATLAB中,多维数组的索引可以通过使用圆括号来实现,每个维度的索引用逗号分隔。
例如,对于一个三维数组A,可以使用A(i,j,k)来访问第i行、第j列、第k层的元素。
Matlab习题

习题 11. 执行下列指令,观察其运算结果, 理解其意义: (1) [1 2;3 4]+10-2i(2) [1 2; 3 4].*[0.1 0.2; 0.3 0.4] (3) [1 2; 3 4].\[20 10;9 2] (4) [1 2; 3 4].^2 (5) exp([1 2; 3 4]) (6)log([1 10 100]) (7)prod([1 2;3 4])(8)[a,b]=min([10 20;30 40]) (9)abs([1 2;3 4]-pi)(10) [1 2;3 4]>=[4,3;2 1](11)find([10 20;30 40]>=[40,30;20 10])(12) [a,b]=find([10 20;30 40]>=[40,30;20 10]) (提示:a 为行号,b 为列号) (13) all([1 2;3 4]>1) (14) any([1 2;3 4]>1) (15) linspace(3,4,5) (16) A=[1 2;3 4];A(:,2)2. 执行下列指令,观察其运算结果、变量类型和字节数,理解其意义: (1) clear; a=1,b=num2str(a),c=a>0, a= =b, a= =c, b= =c (2) clear; fun='abs(x)',x=-2,eval(fun),double(fun)3. 本金K 以每年n 次,每次p %的增值率(n 与p 的乘积为每年增值额的百分比)增加,当增加到rK 时所花费的时间为)01.01ln(ln p n rT +=(单位:年)用MA TLAB 表达式写出该公式并用下列数据计算:r =2, p =0.5, n =12.4.已知函数f (x )=x 4-2x在(-2, 2)内有两个根。
取步长h =0.05, 通过计算函数值求得函数的最小值点和两个根的近似解。
MATLAB习题及参考答案经典.doc

习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。
(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。
(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。
(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。
(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。
(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。
(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。
(应用pinv) 12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。
(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。
matlab习题

1、标点符号;可以使命令行不显示运算结果,%用来表示该行为注释行。
2、x为0~4pi,步长为0.1pi的向量,使用命令x=0:0.1*pi:4*pi创建。
4、输入矩阵A=错误!未找到引用源。
,使用全下标方式用A(2,2)取出元素“-5”,使用单下标方式用A(5)取出元素“-5”。
5、符号表达式sin(2*a+t)+m中独立的符号变量为t。
6、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义。
7. 设x是一维数组,x的倒数第3个元素表示为______x(_end-2_)________________;要在x的第36和37个元素之间插入一个元素154,使用的命令(集)为_x=x(_1:36,[154],37:end)_;设y为二维数组,要删除y的第34行和48列,可使用命令_y(34,:)=[];y(:,48)=[]_;8. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令__save _x_;将Excel文件data.xls读入WorkSpace并赋值给变量x,可使用命令_x=xlsread('data.xls')_;9. 在while表达式,语句体,End 循环语句中,表达式的值__非零__时表示循环条件为真,语句体将被执行,否则跳出该循环语句;10. 打开Matlab的一个程序文件fname.m,以添加的方式进行读写,应当使用命令_fid= fopen('fname.m','w+');11.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令__x=input(‘Who is she?’,’s’)_;使用fprintf()函数以含有2位小数的6位浮点格式输出数值变量weight到文件wt.txt,使用的命令(集)为fid = fopen(‘wt.txt’,’’,_);fprintf () ;12.设A=错误!未找到引用源。
matlab考试题目及答案

matlab考试题目及答案1. 题目:编写一个MATLAB函数,实现计算并返回一个向量中所有元素的平方和。
答案:以下是一个简单的MATLAB函数,用于计算并返回一个向量中所有元素的平方和。
```matlabfunction sumOfSquares = calculateSumOfSquares(vector)sumOfSquares = sum(vector.^2);end```2. 题目:给定一个3x3的矩阵A,使用MATLAB编写代码,求出矩阵A 的转置。
答案:可以通过简单的转置操作来求得矩阵A的转置。
```matlabA = [1 2 3; 4 5 6; 7 8 9];A_transpose = A';```3. 题目:编写一个MATLAB脚本,实现对一个二维数组进行排序,并返回排序后的数组。
答案:以下是一个MATLAB脚本,用于对一个二维数组进行排序,并返回排序后的数组。
```matlabfunction sortedArray = sort2DArray(array)sortedArray = sort(array(:));end```4. 题目:给定一个向量x,使用MATLAB编写代码,计算并返回向量x的元素个数。
答案:可以通过内置函数`numel`来计算向量x的元素个数。
```matlabx = [1, 2, 3, 4, 5];numElements = numel(x);```5. 题目:编写一个MATLAB函数,实现计算并返回两个向量元素的点积。
答案:以下是一个简单的MATLAB函数,用于计算两个向量的点积。
```matlabfunction dotProduct = calculateDotProduct(vector1, vector2)dotProduct = dot(vector1, vector2);end```6. 题目:给定一个矩阵B,使用MATLAB编写代码,求出矩阵B的行列式。
matlab试题及答案

matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。
答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。
矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。
矩阵的转置使用单引号`'`,例如`A'`。
矩阵的求逆使用`inv`函数,例如`inv(A)`。
2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。
`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。
A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。
答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。
matlab编程考试题及答案

matlab编程考试题及答案1. 编写一个MATLAB函数,该函数接受一个向量作为输入,并返回该向量中所有元素的平方和。
```matlabfunction sumOfSquares = vectorSquareSum(inputVector)sumOfSquares = sum(inputVector .^ 2);end```答案:该函数通过使用点乘运算符(`.^`)来计算向量中每个元素的平方,然后使用`sum`函数计算这些平方值的总和。
2. 给定一个3x3的矩阵A,编写MATLAB代码计算其行列式。
```matlabA = [1 2 3; 4 5 6; 7 8 9];determinantA = det(A);```答案:使用MATLAB内置函数`det`可以直接计算矩阵A的行列式。
3. 编写一个MATLAB脚本,实现对一个给定字符串进行反转。
```matlaboriginalString = 'HelloWorld';reversedString = fliplr(originalString);```答案:使用`fliplr`函数可以将字符串中的字符从左到右翻转,实现字符串的反转。
4. 给定两个向量x和y,编写MATLAB代码计算它们之间的欧几里得距离。
```matlabx = [1 2 3];y = [4 5 6];euclideanDistance = sqrt(sum((x - y) .^ 2));```答案:欧几里得距离可以通过计算两个向量对应元素差的平方和的平方根来得到。
5. 编写一个MATLAB函数,该函数接受两个参数,一个是矩阵,另一个是标量值,返回矩阵中所有元素与该标量值的差的绝对值。
```matlabfunction absDiffMatrix = matrixScalarDifference(matrix, scalar)absDiffMatrix = abs(matrix - scalar);end```答案:该函数通过从矩阵的每个元素中减去标量值,然后使用`abs`函数计算结果的绝对值。
完整word版,Matlab课后习题

习题 11. 执行下列指令,观察其运算结果, 理解其意义: (1) [1 2;3 4]+10-2i(2) [1 2; 3 4].*[0.1 0.2; 0.3 0.4] (3) [1 2; 3 4].\[20 10;9 2] (4) [1 2; 3 4].^2 (5) exp([1 2; 3 4]) (6)log([1 10 100]) (7)prod([1 2;3 4])(8)[a,b]=min([10 20;30 40]) (9)abs([1 2;3 4]-pi)(10) [1 2;3 4]>=[4,3;2 1](11)find([10 20;30 40]>=[40,30;20 10])(12) [a,b]=find([10 20;30 40]>=[40,30;20 10]) (提示:a 为行号,b 为列号) (13) all([1 2;3 4]>1) (14) any([1 2;3 4]>1) (15) linspace(3,4,5) (16) A=[1 2;3 4];A(:,2)2. 执行下列指令,观察其运算结果、变量类型和字节数,理解其意义: (1) clear; a=1,b=num2str(a),c=a>0, a= =b, a= =c, b= =c (2) clear; fun='abs(x)',x=-2,eval(fun),double(fun)3. 本金K 以每年n 次,每次p %的增值率(n 与p 的乘积为每年增值额的百分比)增加,当增加到rK 时所花费的时间为)01.01ln(ln p n rT +=(单位:年)用MA TLAB 表达式写出该公式并用下列数据计算:r =2, p =0.5, n =12.4.已知函数f (x )=x 4-2x 在(-2, 2)内有两个根。
取步长h =0.05, 通过计算函数值求得函数的最小值点和两个根的近似解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.请登陆美国MathWorks 公司的网站(),查看看现在大概有多少本MATLAB-based books (以MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。
哪一个领域的MATLAB-based books 最多?中文书共有几本?2.若有任何MATLAB/Simulink 技术上的问题,可以直接连到MathWorks 公司的技术支持部网站(/support) 寻求支持。
请在技术支持部网站的搜寻引擎输入「Web Server」,看会传回多少和MATLAB Web Server 相关的信息。
3.请在MATLAB中直接输入下列常数,看它们的值是多少:a.ib.jc.epsd.infe.nanf.pig.realmaxh.realmin4.请使用lookfor 指令,找出具有下列功能的MATLAB 指令。
(每一项只需找出一个相关度最高的MATLAB 指令。
)a.找出矩阵的大小(即行维度和列维度)b.改变矩阵的大小(例如将4×6 的矩阵改成12×2)c.将矩阵左右翻转(Left-right flip)d.将矩阵上下翻转(Up-down flip)e.找出矩阵每一列的最大值f.对矩阵的每一列进行排序g.矩阵的旋转(Rotate)h.逆矩阵(Inverse matrix)的计算i.求矩阵的秩(rank)j.计算矩阵的行阶梯矩阵reduced row echelon formk.计算矩阵的特征值(Eigenvalues)与特征向量(Eigenvectors)l.直角坐标转成极坐标m.极坐标转成直角坐标5.写一个MATLAB 小程序findN01.m,求出最小的n 值,使得n! > realmax。
请问n 的值是多少?此时(n-1)! 的值又是多少?6.MATLAB 的sqrt 指令可对任一数值进行开平方的运算。
用此指令求出下列各数的平方根,并验算之:a.b.2*ic.-5+12*i其中i 是单位虚数。
7.写一个MATLAB 函数myFun.m 来计算下列方程式:y = 0.5*exp(x/3)-x*x*sin(x)其中x 是函数的输入,y 是函数的输出。
你的函数必须能够处理当x 是标量或是向量的两种情况。
此外,请利用下述两列程序代码来画出此函数的图形:x=0:0.1:10;plot(x, myFun(x));8.写一个MATLAB 函数piFun.m 来计算下列级数:f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...)其中n 为函数的输入,代表上述级数的项数,级数和f(n) 则是函数的输出。
9.使用tic 和toc 指令来测量piFun(100000) 的计算时间。
请说明你的计算机规格以及其计算时间。
10.请写一个函数minxy.m,其功能是由一个二维矩阵中找出小元素,用法如下:[minValue, minIndex] = minxy(matrix)其中matrix 是一个二维矩阵,minValue 则是其元素的最小值,而minIndex 是一个长度为2 的正整数向量,代表最小值的索引。
(换句话说,matrix(minIndex(1), minIndex(2)) 的值即是minValue。
)请测试[minValue, minIndex] = minxy(magic(20))所传回来的minValue 和minIndex 各是多少?提示:请尽量使用 min 指令。
11.如果a = [92, 95, 58, 75, 69, 82],但我们执行下列sort 指令:[b, index] = sort(a)会得到b = [58, 69, 75, 82, 92, 95] 及index = [3, 5, 4, 6, 1, 2],其中index 的每个元素代表 b 的每个元素在 a 的位置,满足 b 等于a(index)。
请写一个函数sort01.m,当输入为a 时,可得到index2,满足a 等于b(index2)。
以上述a 向量为例,得到的index2 应该是[5, 6, 1, 3, 2, 4]。
提示:你可以使用循环(如 for-loop 和 while-loop 等)完成,但是程序代码会比较凌乱,执行效率也会变差。
所以请尽量利用 sort 指令,而不要用到循环。
12.假设在期中考后,我们用一个向量x 来储存每个人的考试成绩。
请写一个函数ranking.m,输入为成绩向量x,输出则是此成绩的排名。
例如,当x = [92, 95, 58, 75, 69, 82] 时,ranking(x) 得到的排名向量则是[2, 1, 6, 4, 5, 3],代表92 分是排名第2,95 分是排名第1,58 分是排名第6,等等。
提示:你可以使用循环(如 for-loop 和 while-loop 等)完成此作业,但是程序代码会比较凌乱,执行效率也会变差。
所以请尽量利用 sort 指令,而不要用到循环。
13.试写一函数regPolygon(n),其功能为画出一个圆心在(0, 0)、半径为1 的圆,并在圆内画出一个内接正n 边形,其中一顶点位于(0, 1)。
例如regPolygon(8) 可以画出如下之正八边型:14.一条参数式的曲线可由下列方程式表示:x = sin(t), y = 1 - cos(t) + t/10当t 由0 变化到4*pi 时,请写一个MATLAB 的脚本plotParam.m,画出此曲线在XY 平面的轨迹。
15.试写一函数regStar(n),其功能为画出一个圆心在(0, 0)、半径为1 的圆,并在圆内画出一个内接正n 星形,其中一顶点位于(0, 1)。
例如regStar(7) 可以画出如下之正7 星型:16.一个平面上的椭圆可以表示成下列方程式:(x/a)2+(y/b)2=1我们也可以用参数式将椭圆表示成:x = a*cos(τ)y = a*sin(τ)请利用上述参数式,写一个函数ellipse(a, b),其功能是画出一个椭圆,而且椭圆上共有100个点。
例如,ellipse(7, 2) 可以产生下列图形:17.请用写一个MATLAB 脚本figSolve.m,利用图解法,说明下列联立方程式有无穷多组解:y = xy = sin(1/x)(请务必画出上述两条曲线来加以说明之。
)18.利萨如图形(Lissajous Figure,又称为Bowditch Curve)可用下列参数式来表示:x = cos(m*τ)y = sin(n*τ)试画出在不同m、n 值的利萨如图形:a.m = n = 1b.m = 3, n = 2c.m = 2, n = 7d.m = 10, n = 1119.Chebyshev 多项式的定义如下:y = cos(m*cos-1x)其中x 的值介于[-1, 1]。
当m 的值由 1 变化到5,我们可得到五条曲线。
请将这五条曲线画在同一张图上面,记得要使用legend 指令来标明每一条曲线。
20.使用MATLAB 画一个圆心在原点、半径等于10 的圆,并在圆周上依逆时钟方向取任意四点A、B、C、D,将线段AB、AC、AD、BC、BD、CD 用直线画出。
a.计算线段AB、AC、AD、BC、BD、CD 的长度。
b.计算AB*CD+AD*BC 和AC*BD。
两者的差距有多少?是否可视为相等?21.当一个小圆轮在平面上滚动时,轮缘的一点在滚动时所形成的轨迹称为「摆线」(Cycloid)。
请用MATLAB 画出一个典型的摆线,其中小圆轮的半径为1,而且至少要滚三圈。
22.此题和上题类似。
当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。
假设小圆轮的半径r=2。
a.当小圆轮绕着一个大圆(半径R=5)的外部滚动时,请画此「圆轮摆线」或「外花瓣线」。
b.重复上小题,但改成在大圆的内部滚动,请画出此「内花瓣线」。
提示:下图显示在不同的 R 和 r 值,所产生的圆轮摆线。
23.若大圆和小圆的半径成整数比,当小圆在大圆的内部滚动时,小圆内的任一点A的轨迹就会形成一个漂亮无缺的花瓣线。
当大圆半径R 为10,小圆半径r 为3,且A 点离小圆圆心距离r1 为2 时,请画出此完整的花瓣线。
提示:下图显示在不同 r1 值所产生的内花瓣线。
提示:下图显示在不同 r1 值所产生的外花瓣线。
24.请用surf 指令来画出下列函数的曲面图:z = x*exp(-x2-y2)其中x 在[-2, 2] 间共等切分为21 点,y 在[-1, 1] 间共等切分为21 点,所以此曲面共有21*21=441 个点。
a.请用预设的颜色对应表(Colormap)来画出此曲面。
b.请以曲面的斜率来设定曲面的颜色。
c.请以曲面的曲率来设定曲面的颜色。
25.一个空间中的椭球可以表示成下列方程式:(x/a)2+(y/b)2+(z/c)2 = 1请使用任何你可以想到的方法,画出三维空间中的一个平滑的椭球,其中a = 3,b = 4,c = 8。
(但不能使用ellipsoid 指令。
)26.MATLAB 有一些现成的指令,可以来画出特殊立体图形,例如,可以用sphere 画出圆球,用cylinder 画出圆柱体,用ellipsoid 画出椭球,请试试看。
27.请用ez 开头的绘图指令(例如ezmesh、ezsurf、ezmeshc、ezsurfc、ezplot3、ezcontour 等),画出一个你认为最炫的立体图形。
28.我们可用subplot 在同一个窗口画出两个不同的曲面图。
你是否可想出一个聪明的办法,让这两个曲面图各自用到不同的颜色对应表?请举例说明。
29.画出下列方程式的曲面图及等高线图:z = sin(x/2)cos(y)其中,x 的21 个值均匀分布在[-2*pi, 2*pi] 范围,y 的31 值均匀分布在[-1.5*pi, 1.5*pi]。
请使用subplot(2,1,1) 和subplot(2,1,2) 将产生的曲面图和等高线图在同一个窗口上,产生的图形应类似下图:30.请用meshc 指令来同时画出下列函数的曲面图和等高线图:z = (x*y)/(x+y)其中x 和y 都介于0 和 1 中间,且各自都分成21 个格子点,所以此曲面共有21*21=441 个点。
此外,等高线图应有20 条。
请问此曲面在XY 平面的哪一点(或区域)会有最大值?此最大值为何?31.请画出下列圆椎曲面的三维空间曲面图及其10条等高线:a.z=x*yb.z=x2+2xy+y2c.z=x2+2xy+2y2d.z=x2-2xy-y2上述各方程式的定义域皆是[-10, 10] x [-10, 10]。
提示:使用 surfc 指令。