matlab练习题
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习题及参考答案

习题: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 的最大值、最小值、均值和标准差。
matlab20道试题及解答

试题1.“数学黑洞”:任意一个4位自然数,将组成该数的各位数字重新排列,形成一个最大数和一个最小数,之后两数相减,其差仍为一个自然数。
重复进行上述运算,最终会出现一个神秘的数,请编程输出这个神秘的数。
clear;a=input('请输入一个四位正整数:');str_a=num2str(a); %将a转化为一个字符串b_min=str2double(sort(str_a)); %形成最小数b_max=str2double(sort(str_a,'descend')); %形成最大数b=b_max-b_min; %求最大数与最小数之差while (b~=a)a=b;str_a=num2str(a); %将a转化为一个字符串b_min=str2double(sort(str_a)); %形成最小数b_max=str2double(sort(str_a,'descend')); %形成最大数b=b_max-b_min; %求最大数与最小数之差endb试题2.将数字1、2、3、4、5、6填入一个2行3列的表格中,要使得每一列右边的数字比左边的数字大,每一行下面的数字比上面的数字大。
请编写程序求出按此要求可有几种填写方法。
a(1)=1;a(6)=6;count=0; %用来计数b=perms('2345'); %产生2345的全排列[m,n]=size(b);for i=1:mtemp=b(i,:);a(2)=str2double(temp(1));a(3)=str2double(temp(2));a(4)=str2double(temp(3));a(5)=str2double(temp(4));if ((a(4)>a(2))&&(a(4)>a(3))&&(a(5)>a(3)))count=count+1;c=reshape(a,2,3); %将a向量转化为2*3矩阵输出disp(c);endenddisp(['共有',num2str(count),'种填写方法']); %输出填写方法的种数试题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中的函数定义方式。
matlab考试题

matlab考试题一、选择题1. 在MATLAB中,下列哪个命令可以用于绘制三维曲面图?A. plot3B. surfC. meshD. contour32. 如何在MATLAB中创建一个名为“myArray”的数组,其元素从1到100?A. myArray = 1:100;B. myArray = array(1:100);C. array = {1, 2, 3, ..., 100};D. array = 1:100, name = 'myArray';3. 在MATLAB中,如何计算矩阵A和矩阵B的点积?A. A * BB. A.* BC. dot(A, B)D. A + B4. 若要在MATLAB中定义一个函数,使得输入参数x的平方和x的和相加,应该如何编写该函数?A. function y = x^2 + xB. function y = sum(x^2, x)C. function y = x^2 + sum(x)D. function y = x.^2 + x5. 在MATLAB中,如何清空当前工作空间的所有变量?A. clear allB. clearC. delete allD. clear workspace二、填空题1. 在MATLAB中,使用 ________ 命令可以导入外部数据文件。
2. 要创建一个从10到20的行向量,可以使用 MATLAB 代码________。
3. 在MATLAB中,使用 ________ 函数可以计算矩阵的行列式。
4. 若要在MATLAB中绘制一个单位圆,可以使用 ________ 命令。
5. 为了在MATLAB中保存工作,可以使用 ________ 命令。
三、简答题1. 请简述MATLAB的主要功能和应用领域。
2. 描述在MATLAB中如何进行矩阵运算。
3. 说明在MATLAB中创建和使用函数的基本步骤。
4. 讨论在MATLAB中进行数据分析和可视化的常用方法。
Matlab练习

Matlab 练习习题1. 设a=1.2,b=-4.6,c=8.0,e=-4.0,计算⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+=d bc e a t ππ22arctan2. 设a=5.67,b=7.811,计算)lg(b a e ba ++3. 已知园半径为15,求其直径、周长和面积。
4. 已知三角形三边a=8.5,b=14.6,c=18.5,求三角形面积2/)(,))()(((c b a s c s b s a s s area ++=---=5. 下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A ; L1=A==B ; L2=A<=5; L3=A>3&A<7;L4=find(A>3&A<7); 习题1. 设矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=321212113A⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=111012111B求:(1)2A+B ;(2)4A 2-3B 2;(3)AB ;(4)BA ;(5)AB-BA2.设三阶矩阵A 、B ,满足A -1BA=6A+BA⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=71000410031A 求矩阵B2. 设(2E-C -1B )A T =C -1,其中E 是4阶单位矩阵,A T 是4阶矩阵A 的转置,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---=1021000032231021B ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1021000002101021C求矩阵A3. 有一4阶魔方矩阵a ,找出矩阵中大于7的元素,并将它们重新排列成列向量b 。
4. 给定矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=054000031A ,删去整行和整列的0。
5. 设2阶矩阵A 、B 、X ,满足X-2A=B-X,⎥⎦⎤⎢⎣⎡--=2112A⎥⎦⎤⎢⎣⎡--=0220B 求矩阵X6. 求矩阵的主对角元素、逆矩阵、行列式的值、秩、特征值和特征向量⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=163053064A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=1124111221B7. 分别用矩阵求逆、矩阵除法求方程组的解⎪⎩⎪⎨⎧=+--=+-=+-1074453932z y x z y x z y x 8. 已知多项式P 1(x)=3x+2,P 2(x)=5x 2-x +2,P 3(x)=x 2-0.5,求:(1) P(x)=P 1(x)+P 2(x)+P 3(x) (2) P(x)=P 1(x)*P 2(x)*P 3(x) (3) P(x)=0的全部根计算x i =0.2*i,i=0,1,2各点上的P(x i )。
matlab考试试卷

matlab考试试卷一、选择题(每题2分,共20分)1. MATLAB中,用于创建一个3x3的单位矩阵的命令是:A. eye(3)B. ones(3)C. zeros(3)D. identity(3)2. 若变量A是一个3x3的矩阵,下列哪个命令可以用来计算A的行列式?A. det(A)B. rank(A)C. inv(A)D. eig(A)3. MATLAB中,以下哪个函数用于绘制函数f(x)=sin(x)的图像?A. plot(x, sin(x))B. graph(x, sin(x))C. draw(x, sin(x))D. line(x, sin(x))4. 假设x是一个向量,下列哪个命令可以用来计算x中所有元素的平均值?A. mean(x)B. sum(x)C. max(x)D. min(x)5. 在MATLAB中,如何创建一个从0到1的0.1间隔的向量?A. 0:0.1:1B. 0..1/0.1C. 0 to 1 by 0.1D. linspace(0, 1, 0.1)6. 若A是一个矩阵,下列哪个命令可以用来计算A的转置?A. A'B. transpose(A)C. flip(A)D. rot90(A)7. MATLAB中,如何使用循环结构来计算1到100的和?A. for i=1:100; sum=0; sum=sum+i; endB. for i=1:100; sum=sum+i; endC. for i=1 to 100; sum=0; sum=sum+i; endD. for i=1:100; sum=i; end8. 下列哪个命令可以用来计算矩阵A的秩?A. rank(A)B. det(A)C. eig(A)D. inv(A)9. MATLAB中,如何创建一个5x5的全零矩阵?A. zeros(5)B. ones(5)C. eye(5)D. identity(5)10. 若x是一个向量,下列哪个命令可以用来计算x中所有元素的平方和?A. sum(x.^2)B. sum(x^2)C. dot(x, x)D. x*x二、填空题(每题3分,共15分)1. MATLAB中,使用________函数可以计算两个向量的点积。
(完整word版)Matlab考试题库+答案

填空题1、标点符号; %—用来表示该行为注释行。
可以使命令行不显示运算结果,2、x为0~4pi,步长为0.1pi的向量,使用命令 x=0:0.1*pi:4*pi创建。
3、输入矩阵A=,使用全下标方式用A(2,2)取出元素“-5”,使用单下标方式用A(5)取出元素“-5”。
4、符号表达式sin(2*a+t)+m中独立的符号变量为t。
5、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义_______。
6. 设x是一维数组,x的倒数第3个元素表示为x(_end-2_)设y为二维数组,要删除y的第34行和48列,可使用命令y(34,:)=[] ;y(:,48)=[];7. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令save _x ;8. 在while 表达式, 语句体, End 循环语句中,表达式的值非零时表示循环条件为真,语句体将被执行,否则跳出该循环语句;9.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令x=input(‘Who is she?’,’s’);10.设A=和B=和C=均为m*n矩阵,且存在于WorkSpace中,要产生矩阵D=,可用命令D=(A-C)/B.^C,计算可用命令det(inv(A’*B)11. 在MATLAB命令窗口中的“>>”标志为MATLAB的命令行提示符,“│”标志为输入提示符。
12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。
A+B;A.*B;A==B ;ans= [2,2,6;5,10,0;7,9,11]ans= [1,0,9;4,25,0;0,8,18]ans= [1,0,1;0,1,1;0,0,0]13.已知A是矩阵,求A的对角矩阵函数是 diag ;求A的下三角矩阵函数是 tril。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 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); 1 5 3 9 5 13 7 17
11.写出执行以下代码后C,D,E的值 A=[1,2,3;4:6;7:9]; C=[A;[10,11,12]] D=C(1:3,[2 3]) E=C(2,[1 2]) C = 1 4 7 10 2 5 8 11 3 6 9 12
D = 2 5 8 3 6 9
E = 4 >> 12、输入 x,y 的值,并将它们的值互换后输出。 x=input('Input x please:'); y=input('Input y please:'); z=x; x=y; y=z; disp(x); disp(y); 5
13.当 n=100 时,求 y = ∑
15.一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全 部水仙花数。
function function3()
x=[]; for i=100:999 n1=fix(i/100); n2=fix((i-n1*100)/10); n3=i-n1*100-n2*10; if (n1^3+n2^3+n3^3)==i x=[x i]; end end
i =1
n
1 的值。 2i − 1
y=0; n=100; for i=1:n y=y+1/(2*i-1); end y 14.某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用 price 来 表示) : price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣 5000≤price 14%折扣 输入所售商品的价格,求其实际销售价格。 function function2()
A=[1 0 0;1 1 0;0 0 1]; B=[2 3 4; 5 6 7;8 9 10]; H=vertcat(A,B) H= 1 1 0 2 5 8 0 1 0 3 6 9 0 0 1 4 7 10
S=horzcat(A,B) S= 1 1 0 0 1 0 0 0 1 2 5 8 3 6 9 4 7 10
并利用位于矩阵 A 的奇数行 4.利用列向量 (1, 2,3,L , 6 ) 建立一个范得蒙矩阵 A ,
T
偶数列的元素建立一个新的矩阵 B ,须保持这些元素的相对位置不变。 (范得蒙(Vandermonde)矩阵最后一列全为 1,倒数第二列为一个指定的向量, 其他各列是其后列与倒数第二列的点乘积。 可以用一个指定向量生成一个范得蒙 矩阵。在 MATLAB 中,函数 vander(V)生成以向量 V 为基础向量的范得蒙矩阵。 例如,A=vander([1;2;3;5])即可得到上述范得蒙矩阵。 )
16.用 if 语句实现下列程序:输入一个百分制成绩,要求输出成绩等级为 A、B、 C、D、E,其中 90-100 分为 A,80-90 分为 B,70-79 分为 C,60-69 分为 D,60 分以下为 E。 function function4() p=input('请输入分数:'); if p>=90 disp('A'); elseif p>=80 disp('B'); elseif p>=70 disp('C'); elseif p>=60 disp('D'); else disp('E'); end 17.若一个数等于它的各个真因子之和,则称该数为完数,如 6=1+2+3,所以 6
x=linspace(0,2*pi,1000); y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); k=find(abs(y1-y2)<1e-2); x1=x(k); y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); plot(x,y1,x,y2,'k:',x1,y3,'bp')
练习题
1. 计算复数 3+4i 与 5−6i 的乘积。 a=complex(3,4); b=complex(5,-6); s=a*b s= 39.0000 + 2.0000i 2.构建结构体 Students,属性包含 Name、Age 和 Email,数据包括{'Zhang',18, [‘zhang@’, ‘zhang@’]}、 {‘Wang’,21, []}和{‘Li’,[], []},构建后读取 所有 Name 属性值,并且修改‘Zhang’的 Age 属性值为 19。 ='zhang'; Student.Age=18; Student.Email='zhang@,zhang@'; Student Student = name: 'zhang' Name: 'zhang' Age: 18 Email: 'zhang@,zhang@' Student.Age=19 Student = Name: 'zhang' Age: 19 Email: 'zhang@,zhang@' 3. 采用向量构造符得到向量[1,5,9,…,41] A=1:4:41
V=[1,2,3,4,5,6];
A=vander(V); A A= 1 32 243 1024 3125 7776 1 16 81 256 625 1296 1 8 27 64 125 216 1 4 9 16 25 36 1 2 3 4 5 6 1 1 1 1 1 1
5.按水平和竖直方向分别合并下述两个矩阵:
8.分别查看第 5 题两个结果的各方向长度。
a=size(H)
a= 6 b=size(S) b= 3 6 3
9.分别计算第 5 题矩阵 A 和 B 的 A+B、A.* B 和 A\B。 A=[1 0 0;1 1 0;0 0 1]; B=[2 3 4;5 6 7;8 9 10]; S1=A+B S1 = 3 6 8 S2=A.*B S2 = 2 5 0 S3=A\B S3 = 2 3 8 3 3 9 4 3 10 0 6 0 0 0 10 3 7 9 4 7 11
2
1.5
1
0.5
0
-0.5
-1
-1.5
0
1
2
3
4
5
6
7
22.在同一窗口分别用红色实线和绿色虚线绘制 y1 = sin x 和 y 2 = cos x 在区间
[0, 4π ] 上的曲线,并用星号*标出两条曲线的交点以及建立图例;
x=linspace(0,4*pi,1000); y1=sin(x); y2=cos(x); k=find(abs(y1-y2)<1e-2); x1=x(k); y3= sin(x1); plot(x,y1, '-r',x,y2, '--g',x1,y3,'*')
19. 绘制函数 y = sin ( x ) cos ( x ) 在 [ −2, 2 ] 上的曲线,其中曲线为红实线。
x=-2:0.1:2; y=sin(x).*cos(x); plot(x,y,'-r')
0.5 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4 -0.5 -2
是完数。求[1,10000]之间的全部完数. function function5() result = []; for n == mod(n, divisors); sumDivisors = sum(divisors(remainder == 0)); if n == sumDivisors result = [result, n]; end end result 18.求[1000,2000]之间第一个能被 17 整除的整数。 function function7() for n = 1000:2000 a=mod(n,17); if a==0 num=n break; end end
25.求函数 y = cos ( x ) 的 5 次拟合多项式 p ( x ) ,并绘制出 cos ( x ) 和 p ( x ) 在区间
[0, 2π ] 上的图形。
x=0:pi/10:2*pi; y=cos(x); p=polyfit(x,y,5); y1=polyval(p,x); plot(x,y,'-r'); hold on plot(x,y1, '--g')
0
5
10
15
20
25
legend('正弦曲线','余弦曲线','Location','North')
21.在同一坐标内,分别用不同线型和颜色绘制曲线 y1 = 0.2e −0.5 x cos ( 4π x ) , 和
y2 = 2e −0.5 x cos (π x ) x ∈ [ 0, 2π ] ,并标记两曲线交叉点。
x1=0:pi/10:2.*pi; x2=0:pi/10:2.*pi; y1=sin(x1); y2=cos(x2); plot(y1,'-g','linewidth',6); hold on plot(y2,'--r','linewidth',6);