moocMATLAB语言基础_2答案(慕课2023完整答案)

慕课习题2024-05-19 07:59:3891680抢沙发
moocMATLAB语言基础_2答案(慕课2023完整答案)摘要: 第一周第一周测试题1、关于命令窗,以下描述不正确的是A、程序的运行结果除图形外)都可以显示在命令窗。B、MATLAB的所有函数和命令都可以在命令窗执行。C、可以在命令窗查找函数或命令的使用方法。D、可 ...

moocMATLAB语言基础_2答案(慕课2023完整答案)

第一周

第一周测试题

1、基础关于命令窗,答案答案以下描述不正确的慕课
A、程序的完整运行结果(除图形外)都可以显示在命令窗。
B、基础MATLAB的答案答案所有函数和命令都可以在命令窗执行。
C、慕课可以在命令窗查找函数或命令的完整使用方法。
D、基础可以在命令窗编辑程序。答案答案

2、慕课关于变量的完整命名规则,以下描述不正确的基础是
A、变量名中的答案答案字母区分大、小写。慕课
B、变量名的长度不能超过31个字符。
C、变量名的第一个字符可以是数字。
D、变量名不能是MATLAB的命令、函数、M文件名。

3、下面哪种方法不能创建一维数组?
A、直接输入法。
B、计算法。
C、冒号生成法。
D、定数线性采样法。

4、用直接输入法创建二维数组(矩阵),以下哪种描述不正确?
A、同行元素之间用空格或逗号隔开。
B、行与行之间用逗号隔开。
C、矩阵元素必须在方括号内。
D、矩阵的维数不必预先定义。

5、关于二维数组中元素的提取,以下哪种描述不正确?
A、A(:, j)表示提取第j列的所有元素。
B、A(:, j)表示提取第j行的所有元素。
C、A(i:i+m, k:k+m)表示提取第i~i+m行、 k~k+m列的所有元素。
D、A(i, j)表示提取第i行、第j列的元素。

6、矩阵A、B进行运算,下面哪种运算是不正确的?
A、A.*B
B、A+B
C、A\B
D、A.+B

第二周

第二周测试题

1、关于矩阵的关系运算和逻辑运算,以下描述不正确的是
A、相同阶数的矩阵才能进行比较。
B、矩阵的比较是对应位置元素按照标量运算关系进行比较。
C、矩阵的逻辑运算中,“与”、“或”、“非”的运算优先级相同。
D、all和any命令都是按列运算的。

2、对以下命令的描述不正确的是
A、ceil( )是向+∞方向取整
B、round( )是四舍五入取整
C、rem( x,y)运算的结果是x除以y的余数,函数结果的符号与x相同
D、floor(-2.3)的结果是-2

3、对于矩阵A=[2 0 4;1 3 5;6 9 8],以下结果或描述不正确的是
A、det(A)=78
B、rank(A)=3
C、trace(A)=13
D、[V,D]=eig(A )表示求矩阵A的全部特征值,构成对角矩阵D;求A的特征向量构成列向量V

4、对于方阵A,以下结果或描述不正确的是
A、三角分解的命令格式为:[l,u]=lu(A)。
B、求A的转置矩阵的命令格式为:conj'(A)。
C、将矩阵A扩展为4列的命令格式为:A(:,4)=[5;4;3]。
D、奇异值分解的命令格式为:[u,s,v]=svd(a)。

5、关于二维曲线绘制,以下描述不正确的是
A、plot(x,y)用来绘制之间的关系曲线,x为横坐标,y为纵坐标。
B、plot(t,[y1,y2,…])用来在一个图中绘制自变量均为t的多条曲线。
C、plot(x1,y1,x2,y2,…,xn,yn) 用来在一个图中绘制横坐标不同的多条曲线。
D、plot(t,[y1;y2])与plot(t,y1), hold on, plot(t,y2)的作用相同。

6、在0~4p区间绘制y=5cos(10t+p/3)关系曲线,下述哪个程序正确?
A、t=0:4p, y=5*cos(10*t+p/3)
B、t=0:4*pi, y=5cos(10t+pi/3)
C、t=0:0.1:4p, y=5*cos(10*t+p/3)
D、t=0:0.1:4*pi, y=5*cos(10*t+pi/3)

第三周

第三周测试题

1、关于绘图的一些辅助操作,以下描述不正确的是
A、颜色和线型要用单引号引起来。
B、坐标轴标注函数有:xlabel、ylabel、zlabel。
C、可以用title给图形加标题。
D、legend可以用来给图形中的所有曲线进行图例标注。

2、关于多子图绘制命令subplot(m,n,p),以下说法正确的是
A、将图形窗分为m个子窗口,在第n 行、第p列的子窗口中绘制图形。
B、将图形窗分为p个子窗口,在第m行、第n列的子窗口中绘制图形。
C、将图形窗分为m行、n列个子窗口,在第p个子窗口中绘制图形。子图的编号顺序为从上到下,从左到右。
D、将图形窗分为m行、n列个子窗口,在第p个子窗口中绘制图形。子图的编号顺序为从左到右,从上到下。

3、图形可以在图形窗进行直接编辑,以下说法不正确的是
A、依次点击edit?copy figure,可以将图拷贝到Word文档中。
B、点击“”,再右键点中曲线,可以对曲线的颜色、线型、线宽等进行修改或设定。
C、点击“”,再按下右键,可以对图形坐标的字体、字号等进行修改或设定。
D、不能用Legend给图形中的所有曲线进行图例标注。

4、关于三维数据可视化,以下说法不正确的是
A、用mesh命令可以绘制三维曲面。
B、用surf命令可以绘制三维曲面。
C、用mesh与surf命令绘制的三维曲面形同。
D、用plot3命令可以绘制三维曲线。

5、关于M文件,以下说法不正确的是
A、菜单方式下可以通过File? Save保存M文件。
B、注释行以#开头。
C、菜单方式下可以通过File?open打开M文件。
D、函数文件必须以function开始,且必须有函数名。

6、以下程序不正确的是
A、n=input(‘n=‘) if rem(n,3)==0; A=3*n elseif rem(n,3)==2; A=2*n else A=n end end
B、n=input(‘n=‘) if rem(n,3)==0; A=3*n elseif rem(n,3)==2; A=2*n else A=n end
C、n=input(‘n=‘) switch rem(n,3) case 0; A=3*n case 2; A=2*n otherwise; A=n end
D、n=input(‘n=‘) switch rem(n,3) case 0; A=3*n case 2; A=2*n case 1; A=n end

第四周

第四周测试题

1、对于下面一段程序,对其描述不正确的是 s1=0; for m=1:3:999; s1=s1+m; end s1
A、求1到999之间从1开始、公倍数为3的数列之和。
B、求1到999之间从1开始、公差为3的等差数列之和。
C、s1的中间计算结果不会显示在命令窗中。
D、最后的s1数值为166167。

2、以下说法不正确的是
A、除图形外,其他程序运行结果显示在命令窗在中。
B、程序的错误提示显示在命令窗中。
C、input是一种人机交互命令。
D、input命令中需要的数据要在文本编辑窗输入。

3、以下说法不正确的是
A、基本的数据处理功能是按列进行的。
B、randn(m,n) 可以产生在0~1之间均匀分布的m行、n列的随机数矩阵。
C、利用corrcoef(x,y)命令计算的相关系数是一个2′2的矩阵。
D、用数组表示多项式时,缺少项必须用0表示。

4、以下说法不正确的是
A、用各幂次前的系数组成数组表示多项式,顺序为从高到低。
B、最高幂次不同的多项式进行加减运算时,表示幂次低的多项式的数组必须前面补。
C、不同幂次两个多项式不能进行乘法运算。
D、用roots命令求多项式的根。

5、如果用a,b分别表示两个多项式的系数向量,则关于a,b两个多项式的除法运算,以下说法不正确的是
A、用[q,r]=deconv(a,b) 求a/b。
B、用deconv(a,b)求a/b。
C、用[q,r]=deconv(b, a)求b/a。
D、[q,r]=deconv(b, a)中q是商式,r是余子式。

6、以下程序不正确的是
A、fplot(‘arts’,(0, 2))可以绘制arts函数在1~2区间的图形。
B、用p=polyfit(x,y,n)进行多项式拟合,其中p表示多项式的系数向量。
C、quad (‘arts’,0, 2) 可以求arts函数在1~2区间的积分值。
D、在多项式求值的命令中polyval(a,xv),xv代表给定的变量值。

阶段性试题

期末试题

1、如下A、B、C是求解方程组AX=B的命令,D是求矩阵A对应的行列式值 的命令,试判断哪个不正确
A、X = inv(A)*B
B、X = A\B
C、X = A/B
D、A1=det(A)

2、双纵坐标的绘图命令为
A、plotyy(x1,y1,x2,y2)
B、ploty(x1,y1,x2,y2)
C、plot(x1,y1,x2,y2)
D、plotyy(x1,y1;x2,y2)

3、下列哪种M文件的创建方式不正确?
A、File?New ? Script。
B、单击快捷工具栏上对应的图标。
C、在命令窗口键入“edit 文件名”。
D、在命令窗直接编写程序

4、设y=10cos(Nt+π/6),令N分别为2,4,6,8,绘制t=0~10区间的t-y曲线,取时间间隔为0.1,并将4条曲线分布在一个图形窗的2′2=4个子图中。则下列哪个程序不正确?
A、for N=2:2:8; t=0:0.1:10; y=10*cos(N*t+pi/6); subplot(2,2,N/2) plot(t,y) end
B、for N=2:2:8; t=linspace(0,10,101); y=10*cos(N*t+pi/6); subplot(2,2,N/2) plot(t,y) end
C、for N=2:2:8; t=0:0.1:10; y=10cos(Nt+pi/6); subplot(2,2,N/2) plot(t,y) end
D、t=linspace(0,10,101); for N=2:2:8; y=10*cos(N*t+pi/6); subplot(2,2,N/2) plot(t,y) end

5、求出1到100之间能被3整除的数,并由此形成一维数组A,再求A的最大值、最小值、平均值、和值及标准差。下列完成以上运算的哪个程序正确?
A、X=1:100; A= X((mod(X,3)= 0)) max(A) min(A) mean(A) sum(A) std(A)
B、X=1:100; A= X((rem(X,3)= =0)) max(A) min(A) mean(A) sum(A) std(A)
C、X=1:100; A= X((rem(X,3)= =0)) max(A) min(A) aver (A) sum(A) std(A)
D、X=1:100; A= X((mod(X,3)= =0)) max(A) min(A) aver (A) sum(A) std(A)

6、写出3′3的魔方矩阵M,并求M的转置矩阵T和M的秩,再由M扩展为4′3阶的矩阵,其中第4行第3列的元素为6。下述完成以上过程的哪个程序正确?
A、M=magic(3) T=M’ rank(M) M(4,3)=6
B、M=magic(3,3) T=M’ rank(M) M(4,3)=6
C、M=magic(3,3) T=conj(M)’ rank(M) M(4,:)=[0 0 6]
D、M=magic(3) T=M’ rank(M) M(4,:)=(0 0 6)

7、产生两个0-1之间均匀分布的、4′4阶的随机数矩阵A和B,然后对两个矩阵进行求和、相乘、元素群相乘和相除(A为被除矩阵)以及A矩阵的3次方运算。下列完成以上运算的哪个程序正确?
A、A=rand(4,4); B=rand(4,4); A+B A*B A.*B A./B A.^3
B、A=rand(4,4); B=rand(4,4); A.+B A*B A.*B A./B A^3
C、A=rand(4,4); B=rand(4,4); A+B A*B A.*B A./B A^3
D、A=rand(4,4); B=rand(4,4); A+B A*B A.*B B./ A A^3

8、已知多项式,,欲完成两个多项式相加、相乘和相除的运算,则以下哪个程序正确?
A、a= [1 0 6 2]; b= [2 6 8]; C=a+b D=conv(a,b) [q,r]=deconv(a,b)
B、a= [1 0 6 2]; b= [2 6 8]; C=a+(0,b) D=conv(a,b) [q,r]=deconv(a,b)
C、a= [1 6 2]; b= [2 6 8]; C=a+b D=conv(a,b) [q,r]=deconv(a,b)
D、a= [1 0 6 2]; b= [2 6 8]; C=a+b D=conv(a,b) E=deconv(a,b)

9、设,欲求y的一阶导数和y = 0的所有根,并求x =[-4,4]区间y的函数值,且间隔0.5计算一个值,则以下哪个程序正确?
A、a=[3,0,7,2,9,12] y1=polyder(a) r=roots(a) x= -4:0.5:4 y=polyval(a,x)
B、a=[3,7,2,9,12] y1=polyder(a) r=roots(a) x= -4:0.5:4 y=polyval(a,x)
C、a=[3,7,2,9,12] y1=polyder(a) r=roots(a) x= -4:0.5:4 y=3* x.^5+7* x.^3+2* x.^2+9* x+2 plot(x,y)
D、a=[3,0,7,2,9,12] y1=polyder(a) r=roots(a) y=3* x^5+7* x^3+2* x^2+9* x+2 plot(x,y)

10、设,欲画出定义域x =[-2,2]、y =[-2,2]内的三维曲面,则以下哪个程序正确?
A、x= -2:0.1:2; y= -2:0.1:2; X=ones(size(y))*x; Y=y*ones(size(x)); z=(X .^2) .* exp(-(X .^2 + Y .^2)); mesh(z)
B、x= -2:0.1:2; y=x'; X=ones(size(y))*x; Y=y*ones(size(x)); z=(X .^2) .* exp(-(X .^2 + Y .^2)); mesh(z)
C、x= -2:0.1:2; y=x'; z=(x .^2) .* exp(-(x .^2 + y .^2)); surf(z)
D、x= -2:0.1:2; y= -2:0.1:2; z=(x .^2) .* exp(-(x .^2 + y .^2)); surf(z)

学习通MATLAB语言基础_2

在上一篇文章中,我们介绍了MATLAB的基本语法和常用的数据类型,但是仅仅掌握这些还远远不够,本文将继续介绍MATLAB的一些基础知识。

1. 内置函数

MATLAB内置了大量的函数,可以直接调用使用,这些函数一般都是非常高效的,能够大大加快程序的运行时间。下面介绍几个常用的内置函数。

1.1 disp函数

disp函数用于输出矩阵或向量的值,可以帮助我们直观地查看矩阵或向量的内容。例如:

A = [1 2 3; 4 5 6; 7 8 9];disp(A);

输出结果如下:

1     2     3     4     5     6     7     8     9

1.2 size函数

size函数用于获取矩阵或向量的大小,返回一个包含行数和列数的向量。例如:

A = [1 2 3; 4 5 6; 7 8 9];s = size(A);disp(s);

输出结果为:

3     3

1.3 linspace函数

linspace函数用于生成一段等差数列,可以指定起始值、终止值和元素个数。例如:

x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);

这段代码将生成一个从0到2π的等差数列,共有100个元素,然后计算每个元素的正弦值,并将结果绘制出来。

2. 数据可视化

MATLAB提供了丰富的数据可视化工具,可以将数据可视化为图表、图像等形式,方便我们更加直观地理解数据。下面介绍几个常用的数据可视化函数。

2.1 plot函数

plot函数用于绘制二维图形,通常用来表示数据的趋势或变化。例如:

x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);

这段代码将绘制出sin函数在0到2π之间的图像。

2.2 bar函数

bar函数用于绘制柱状图,通常用于比较数据之间的大小或变化。例如:

x = [1, 2, 3, 4];y = [10, 20, 30, 40];bar(x, y);

这段代码将绘制出4个柱子,每个柱子的高度分别为10、20、30、40。

2.3 imshow函数

imshow函数用于显示图像,通常用于图像处理和分析领域。例如:

I = imread('peppers.png');imshow(I);

这段代码将读取当前目录下的peppers.png图像,然后将其显示出来。

3. 编程技巧

编写MATLAB程序时,可以采用一些编程技巧来提高程序的可读性和性能。

3.1 向量化编程

向量化编程是指使用MATLAB的向量和矩阵运算来代替循环,从而提高程序的性能。例如:

x = linspace(0, 2*pi, 100);y = sin(x);z = cos(x);result = y .* z;plot(x, result);

这段代码中,使用了MATLAB的向量运算来计算sin函数和cos函数的乘积,避免了循环的使用,从而提高了程序的性能。

3.2 预分配变量空间

在使用循环时,应该尽量避免在循环中动态分配变量空间,因为这样会降低程序的性能。可以在循环外预先分配变量空间,然后在循环中直接使用。例如:

N = 1000;A = zeros(N, N);for i = 1:N    for j = 1:N        A(i, j) = i * j;    endend

这段代码中,在循环外预先分配了一个N×N的矩阵A,然后在循环中直接使用,避免了动态分配变量空间,从而提高了程序的性能。

4. 总结

本文介绍了MATLAB的一些基础知识,包括内置函数、数据可视化和编程技巧等方面。掌握这些知识对于编写高效、可读性强的MATLAB程序非常有帮助。

中国大学MATLAB语言基础_2

本文将继续为大家介绍MATLAB语言的基础知识,包括变量定义、数组、矩阵、条件语句、循环语句等内容。

变量定义

在MATLAB中,变量的定义可以通过简单的赋值语句完成,例如:

x = 10;y = 3.14;str = 'Hello, world!';

其中,x为整型变量,y为浮点型变量,str为字符串变量。

数组

在MATLAB中,数组可以看作是一组相同类型、相同大小的变量集合,可以使用一维或多维数组。

a = [1, 2, 3, 4, 5];b = [1 2; 3 4; 5 6];

其中,a为一维数组,b为二维数组。

矩阵

在MATLAB中,矩阵是二维数组的一种,可以使用矩阵运算完成各种数学运算。

A = [1 2; 3 4];B = [2 3; 4 5];C = A + B;D = A * B;

其中,C为A与B对应元素相加得到的矩阵,D为A与B的矩阵乘积。

条件语句

在MATLAB中,条件语句可用于根据不同情况执行不同的操作,包括if语句和switch语句。

x = 10;if x >0   disp('x is positive');elseif x == 0   disp('x is zero');else   disp('x is negative');end

以上代码为if语句的示例,当x大于0时输出“x is positive”,当x等于0时输出“x is zero”,否则输出“x is negative”。

x = 2;switch x   case 1      disp('x is 1');   case 2      disp('x is 2');   otherwise      disp('x is not 1 or 2');end

以上代码为switch语句的示例,当x等于1时输出“x is 1”,当x等于2时输出“x is 2”,否则输出“x is not 1 or 2”。

循环语句

在MATLAB中,循环语句可用于对一组数据重复执行相同操作,包括for循环和while循环。

for i = 1:5   disp(i);end

以上代码为for循环的示例,输出从1到5的数字。

x = 1;while x <= 5   disp(x);   x = x + 1;end

以上代码为while循环的示例,输出从1到5的数字。

总结

以上为MATLAB语言基础知识的简单介绍,涉及变量定义、数组、矩阵、条件语句、循环语句等内容,希望能对大家学习MATLAB语言有所帮助。

文章版权及转载声明

本文地址:http://www.zzxhsh.org/63b799515.html发布于 2024-05-19 07:59:38
文章转载或复制请以超链接形式并注明出处五煦查题

评论列表 (暂无评论,44人围观)参与讨论