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

大学matlab考试题及答案大学MATLAB考试题及答案一、选择题1. MATLAB的全称是什么?A. Matrix LaboratoryB. Microprocessor Application Tool SetC. Microsoft Advanced Tool SetD. Microprocessor Application Test System答案:A2. 在MATLAB中,以下哪个命令用于绘制三维图形?A. plotB. scatterC. surfD. bar答案:C3. MATLAB中用于求解线性方程组的函数是?A. solveB. linsolveC. linprogD. fsolve答案:A二、简答题1. 简述MATLAB的基本数据类型有哪些,并给出至少两个每种类型的示例。
答案:MATLAB的基本数据类型包括数值数组、字符数组和单元数组。
数值数组可以是向量、矩阵或多维数组。
例如,向量 `v = [1 2 3]`,矩阵 `M = [1 2; 3 4]`。
字符数组是由单引号或双引号括起来的字符序列,如 `C = 'Hello'`。
单元数组可以包含不同类型的数据,如`{1, 'text', [1; 2; 3]}`。
2. 描述如何在MATLAB中实现矩阵的转置和翻转。
答案:矩阵的转置可以通过 `'T'` 来实现,例如 `A'` 表示矩阵A 的转置。
矩阵的翻转可以通过 `flip` 函数实现,例如 `flip(A)` 可以翻转矩阵A的所有行和列,`flipud(A)` 仅翻转矩阵A的行,而`fliplr(A)` 仅翻转矩阵A的列。
三、编程题1. 编写一个MATLAB函数,该函数接受一个向量作为输入,并返回向量中所有元素的和以及平均值。
```matlabfunction [sumVal, avgVal] = calculateSumAndAverage(V)sumVal = sum(V);avgVal = mean(V);end```2. 设计一个MATLAB脚本来解决以下问题:给定一个3x3的矩阵,找出其中最大的元素,并显示其位置。
(完整版)matlab基础练习题(带答案)

Matlab 基础练习题常量、变量、表达式1、 MATLAB 中,下面哪些变量名是合法的?( )(A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。
(A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( )(A )eps (B )none (C )zero (D )exp4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。
( 错,都是2个字节 )5、 判断:MA TLAB 中,i 和j ( 对 )6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。
( 错,后面还有很多位小数 )7、 在MA TLAB 中,若想计算的51)3.0sin(21+=πy 值,那么应该在MA TLAB 的指令窗中输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。
8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字节。
9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。
数组1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序的逆序排列输出,应该使用下面的( )指令。
(A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB的命令是( )。
(A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A)3、 在MATLAB 中,用指令x=1:9生成数组x 。
matlab复习题标准答案

matlab复习题标准答案# MATLAB复习题标准答案一、选择题1. MATLAB中的矩阵默认是按什么顺序存储的?- A. 行主序- B. 列主序- C. 随机序- D. 行主序2. 下列哪个函数用于计算矩阵的行列式?- A. `det`- B. `diag`- C. `trace`- A. `det`3. MATLAB中如何创建一个5x5的单位矩阵?- A. `eye(5,5)`- B. `zeros(5,5)`- C. `ones(5,5)`- A. `eye(5,5)`4. 下列哪个命令用于生成0到1之间的随机数?- A. `rand()`- B. `randi()`- C. `randn()`- A. `rand()`5. MATLAB中如何计算向量的范数?- A. `norm(vector)`- B. `abs(vector)`- C. `sum(vector)`- A. `norm(vector)`二、填空题1. MATLAB中的`%`符号用于______。
- 答案:注释2. 要创建一个从10到1的递减向量,可以使用______。
- 答案:`1:-1:10`3. MATLAB中,`zeros(3,4)`会生成一个______。
- 答案:3行4列的全零矩阵4. 函数`max(A)`会返回矩阵A中的______。
- 答案:最大值5. `plot(x,y)`函数在MATLAB中用于______。
- 答案:绘制x和y的数据点的图形三、简答题1. 请简述MATLAB中矩阵的基本操作有哪些?- 答案:矩阵的基本操作包括矩阵的创建、转置、求逆、矩阵乘法、矩阵加法、矩阵减法等。
2. MATLAB中如何实现循环结构?- 答案:MATLAB中实现循环结构主要有两种方式,一种是使用`for`循环,另一种是使用`while`循环。
3. 请解释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考试试卷及答案

MATLAB 考试试卷及答案1、 用抛物法编程计算定积分⎰-=11)sin(3)(dx e x x I x 。
第一题编程如下:format longn=100;a=-1;b=1;inum=0;syms x fxfx=x^3*exp(sin(x));for i=1:nxj=a+(i-1)*(b-a)/n;xi=a+i*(b-a)/n;xk=(xi+xj)/2;fxj=subs(fx,'x',xj);fxi=subs(fx,'x',xi);fxk=subs(fx,'x',xk);inum=inum+(fxj+4*fxk+fxi)*(b-a)/(6*n);endinumintegrate=int(fx,0,1)integrate=double(integrate)2、 画出分段函数所表示的曲线:⎪⎪⎩⎪⎪⎨⎧-<-≤>==7107710710)(x x x x x f y ,要求曲线的第一分段用绿色点划线,第二分段用黑色虚线圆圈,第三分段用蓝色实线画出,给x轴加上标注“x 轴”,y轴加上标注“y轴”,给图形加上标题“分段函数f(x)”,给三个分段曲线添加图例说明,并加注网格线。
第二题编程如下:clear;clc;x=-10:0.1:10;y=10*x.*(x>7)+10/7*x.*(abs(x)<=7)-10*(x<-7);x1=x(1:30);y1=y(1:30);x2=x(31:170);y2=y(31:170);x3=x(171:201);y3=y(171:201);plot(x1,y1,'g.');hold on;plot(x2,y2,'k--');plot(x3,y3,'b');hold on;xlabel('x轴');ylabel('y轴');title('分段函数f(x)');grid on;legend('y=10','y=10/7*x','y=-10',2);3、对于给定的方程0=xxxf,-1-)(3=)2,0(之间的近似根,要求精确到小数点后四位。
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中的函数定义方式。
matlab开卷考试题及答案

matlab开卷考试题及答案MATLAB开卷考试题及答案一、选择题(每题2分,共20分)1. MATLAB中用于创建一个3x3的单位矩阵的命令是:A. `eye(3)`B. `ones(3)`C. `zeros(3)`D. `identity(3)`答案:A2. 下列哪个函数用于计算矩阵的逆?A. `inv()`B. `det()`C. `eig()`D. `trace()`答案:A3. MATLAB中,用于绘制二维图形的函数是:A. `plot()`B. `surf()`C. `mesh()`D. `bar()`答案:A4. 如何在MATLAB中计算向量的范数?A. `norm()`B. `abs()`C. `length()`D. `size()`答案:A5. MATLAB中,用于创建一个随机数矩阵的函数是:A. `rand()`B. `randi()`C. `randn()`D. `randperm()`答案:A6. 下列哪个命令用于在MATLAB中求解线性方程组?A. `solve()`B. `fsolve()`C. `fzero()`D. `linsolve()`答案:A7. MATLAB中,用于计算矩阵的行列式的函数是:A. `det()`B. `trace()`C. `eig()`D. `inv()`答案:A8. 如何在MATLAB中创建一个全1的3x3矩阵?A. `ones(3,3)`B. `eye(3,3)`C. `zeros(3,3)`D. `rand(3,3)`答案:A9. MATLAB中,用于计算矩阵的特征值的函数是:A. `eig()`B. `eigs()`C. `svd()`D. `qr()`答案:A10. 下列哪个函数用于计算矩阵的奇异值分解?A. `eig()`B. `svd()`C. `qr()`D. `lu()`答案:B二、填空题(每题3分,共30分)1. MATLAB中,用于创建一个3x3的零矩阵的命令是 `____`。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%1、编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
function f=NO_1(X);Y(1)=X;k=1;while (X~=1)k=k+1;if (mod(X,2)==0)X=X/2;elseX=3*X+1;endY(k)=X;endplot(Y,'b.')end% 2、编制程序产生一个数组,满足:a1=1,a2=1,从第三个元素开始,每个元素等于前两个元素的和,直到数组的前后两个元素的比值比小于1e-4,并且以红色点线的形式画出这个数组。
clear;A(1)=1;A(2)=1;i=3;Z=1;while (abs(Z)>=1e-4)A(i)=A(i-1)+A(i-2);Z=A(i-1)/A(i);i=i+1;endplot (A,'r.')% 3、编写一个函数,能够产生分段函数。
function y=test_3_1(X)if (X<=2)y=*X;elseif (X>6)y=;elsey=调用分段函数,绘制曲线。
clear;i=1;for j=0::2;x(i)=j;y(i)=test_3_1(j)*test_3_1(j+2);i=i+1;endplot(x,y)% 4、在2pi周期内画正弦函数曲线,并加注坐标轴标识和标题,然后在3pi/4,pi,5pi/4处分别加入带箭头的说明性文本,最后加注图例。
clear;t = 0:pi/50:2*pi;n = length(t);y = sin(t);plot(t,y,'-bo','linewidth',1) xlabel('X');ylabel('Y');title('正弦函数曲线');text,, ' \leftarrow 3pi/4','FontSize',18);text,, ' \leftarrow 3pi/4','FontSize',18);text,,' \leftarrow 3pi/4','FontSize',18);hleg1 = legend('sin(x)');% 5、A为任意一个n*m矩阵,写程序来计算A 中有多少个零元素,并输出个数。
A=input('输入一个矩阵 A = ')n=length(find(A==0))% 6、A为任意一个向量,写程序找出A中的最小元素,并且输出这个最小元素。
A=input('输入一个向量 A = ');x=length(A);i=1;y=A(i);while (i<x)i=i+1;if (y>A(i))y=A(i);endenddisp('最小元素是:')disp(y)% 7、某系统由四个典型环节构成,试根据四阶龙格—库塔公式,求输出量y的阶跃响应,取仿真时间Tf=10s,%步长h=。
r = 1;P = [ 1 1;0 1 1 0;2 1 2 0;10 1 10 0];W = [0 0 0 -1;1 0 0 0;0 1 0 0;0 0 1 0];W0 = [1;0;0;0];Wc = [0 0 0 1];Tf = 10;h = ;A1 = diag(P(:,1));B1 = diag(P(:,2));C1 = diag(P(:,3));D1 = diag(P(:,4));H = B1 - D1*W;Q = C1*W - A1;A = inv (H) * Q;B = inv (H) * C1 * W0;x = [zeros(length(A),1)];y=[zeros(length(Wc(:,1)),1)];t = 0;for i = 1:Tf/hK1 = A*x + B*r;K2 = A*(x + h*K1/2) + B*r;K3 = A*(x + h*K2/2) + B*r;K4 = A*(x + h*K3) + B*r;x = x + h * (K1 + 2*K2 +2*K3 + K4)/6;y = [y,Wc*x];t = [t,t(i)+h];endplot(t,y)% 8、系统模型 1)判断系统的稳定性2)判定系统是否为最小相位系统。
num=[3 16 41 28] ;den=[1 14 110 528 1494 2117 112];[z,p,k]=tf2zp(num,den);pp=find(real(p)>0);n1=length(pp) ;if(n1>0)disp('系统不稳定⊙﹏⊙||| 不稳定极点是:')disp(p(ii));elsedisp('我靠,系统竟然稳定! .');endzz=find(real(z)>0);n2=length(zz);if (n2>0)disp('系统是最小相位系统~-。
-!')elsedisp('系统为非最小相位系统@_@ ')endpzmap(p,z)% 9、对于典型二阶系统,请编写程序绘制时系统的单位阶跃响应。
clear;w=[2:2:10];zeta=;figure(1);hold onfor Wn=wnum=Wn.^2;den=[1,2*zeta*Wn,Wn.^2];step(num,den)endtitle('单位阶跃响应');hold off% 10、已知系统的传递函数,绘制对数幅频特性曲线,计算稳定裕度及其相对应的穿越频率和截止频率。
G=tf([8 ],[1 5 20 19 15 0]) subplot(1,1,1);bodemag(G)%[Gm,Pm,Wcg,Wcp]=margin(G)求稳定裕度两种方法s=allmargin(G)% 11、已知单位负反馈系统的开环传函,要求设计一串联超前校正装置,满足性能指标。
num0=200;den0=conv([1 0],[ 1]);[Gm1,Pm1,Wcg1,Wcp1]=margin(num0, den0);r=45;r0=Pm1;w=logspace(-1,3);[mag1,phase1]=bode(num0,den0,w); for epsilon=5:15phic=(r-r0+epsilon)*pi/180;alpha=(1+sin(phic))/(1-sin(phic) );[il,ii]=min(abs(mag1-1/sqrt(alph a)));wc=w(ii);T=1/(wc*sqrt(alpha));numc=[alpha*T,1];denc=[T,1];[num,den]=series(num0,den0,numc, denc);[Gm,Pm,Wcg,Wcp]=margin(num,den);if(Pm>=r);break;endendprintsys(numc,denc)printsys(num,den)[mag2,phase2]=bode(numc,denc,w); [mag,phase]=bode(num,den,w); subplot(2,1,1);semilogx(w,20*log10(mag),w,20*lo g10(mag1),'--',w,20*log10(mag2), '-');grid;ylabel('(幅值(dB)');title('--GO,,-GOGC'); subplot(2,1,2);semilogx(w,phase, w,phase1,'--',w,phase2,'-.',w,(w -180-w),':');grid;ylabel('相角(度)');xlabel('频率(rad/sec)');title(['校正后:幅值裕度=',num2str(20*log10(Gm)),'dB, ','相角裕度=',num2str(Pm),'°','剪切频率=',num2str(Wcp),'Hz']); disp(['校正前:幅值裕度=',num2str(20*log10(Gm1)),'dB, ','相角裕度=',num2str(Pm1),'°','剪切频率=',num2str(Wcp1),'Hz']);disp(['校正后:幅值裕度=',num2str(20*log10(Gm)),'dB, ','相角裕度=',num2str(Pm),'°,','剪切频率=',num2str(Wcp),'Hz']);% 12、单位反馈系统的开环传函要求设计一串联滞后校正装置,使系统的相角裕度>=40,并保持原有的开环增益。
num0=4;den0=conv([1,0],[2,1]); [Gm1,Pm1,Weg1,Wcp1]=margin(num0, den0);r=40;w=logspace(-3,1);[mag1,phase1]=bode(num0,den0,w); for epsilon=5:15r0=(-180+r+epsilon);[il,ii]=min(abs(phase1-r0)); wc=w(ii);alpha=mag1(ii);T=5/wc;numc=[T,1];denc=[alpha*T,1];[num,den]=series(num0,den0,numc, denc);[Gm,Pm,Wcg,Wcp]=margin(num,den);if(Pm>r);break;endendprintsys(numc,denc);printsys(num ,den);[mag2,phase2]=bode(numc,denc,w); [mag,phase]=bode(num,den,w); subplot(2,1,1);semilogx(w,20*log10(mag),w,20*lo g10(mag1),'--',w,20*log10(mag2), '-.');grid;ylabel('(幅值(dB)');title('--GO,,-GOGC'); subplot(2,1,2);semilogx(w,phase, w,phase1,'--',w,phase2,'-.',w,(w -180-w),':');grid;ylabel('相位(度)');xlabel('频率(rad/sec)');title(['校正后:幅值裕度=',num2str(20*log10(Gm)),'dB,','相角裕度=',num2str(Pm),'°']); disp(['校正前:幅值裕度=',num2str(20*log10(Gm1)),'dB,', '相角裕度=',num2str(Pm1),'°']); disp(['校正后:幅值裕度=',num2str(20*log10(Gm)),'dB,','相角裕度=',num2str(Pm),'°']);。