matlab考试题及答案

%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(n um0,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,2 0*log10(mag1),'--',w,20*log10(ma g2),'-');grid;ylabel('(幅值(dB)');title('--GO,,-GOGC');subplot(2,1,2);semilogx(w,ph ase,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(n um0,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,ph ase,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),'°']);。

合集下载

Matlab考试题库+答案

Matlab考试题库+答案

M a t l a b考试题库+答案(教师出卷参考专用)(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--一、辨析题(共2小题,每题 5 分,共计 10 分)二、问答题(共3小题,每题 5 分,共计 15 分)三、计算题(共7小题,每题 5 分,共计 35 分)四、编程题(共4小题,每题 10 分,共计 40 分)填空题(计算部分)1、标点符号; _______可以使命令行不显示运算结果,%——用来表示该行为注释行。

2、x为0~4pi,步长为的向量,使用命令_______创建。

x=0:*pi:4*pi3、输入矩阵A=,使用全下标方式用A(2,2) 取出元素“-5”,使用单下标方式用_______取出元素“-5”。

A(5)4、符号表达式sin(2*a+t)+m中独立的符号变量为_______。

t5、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义_______。

6. 设x是一维数组,x的倒数第3个元素表示为_______;设y为二维数组,要删除y的第34行和48列,可使用命令_______;_______;x(_end-2_)y(34,:)=[]y(:,48)=[]7. 将变量x以Ascii文本格式存储到文件,应使用命令_________ _;save _x8. 在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.^Cdet(inv(A’*B)11. 在MATLAB命令窗口中的“>>”标志为MATLAB的_______提示符,“│”标志为_______提示符。

matlab考试题及答案

matlab考试题及答案

%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,从第三个元素开始,每个元素等于前两个元素的和,直到数组的前后两个元素的比值比0.618小于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)-0.618;i=i+1;endplot (A,'r.')% 3、编写一个函数,能够产生分段函数。

function y=test_3_1(X)if (X<=2)y=0.5*X;elseif (X>6)y=0.5;elsey=1.5-0.25*X;endend%调用分段函数,绘制曲线。

clear; i=1;for j=0:0.01: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(2.356,0.707, ' \leftarrow3pi/4','FontSize',18);text(3.142,0.000, ' \leftarrow3pi/4','FontSize',18);text(3.927,-0.707,'\leftarrow3pi/4','FontSize',18);hleg1 = legend('sin(x)');% 5、A为任意一个n*m矩阵,写程序来计算A中有多少个零元素,并输出个数。

matlab考试题及答案

matlab考试题及答案

matlab考试题及答案【篇一:matlab期末考试试卷及参考答案】lass=txt>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*、02. a=[2,3,2,1;1,2,2,1; 1,2,3,-2];a1=sum(aa(2,1));a(2,:)=[],a2=a.^2-4a1=; a2=;3.p=[1,2,5,4;2,2,1,3];max(p;mean(p3??x?sint(1).?(0?t?2?);3??y?cost二、(本题满分10分)试编写计算程序画出曲线与曲面图形(2).z?(x2?1)e?x?y22?xy,?2?x?2,?2?y?2.2%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(a60,2)=2)四、(本题满10分)n设f(x)??k?1(?1)kk?1sinkx,返回该函数并保存y?fun1(x,n));(1)试编写函数式文件程序(程序的第一句为:function(2)用子图画出该函数在[0,2?]内图形(分别取n?20,50).(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)endsubplot(2,1,2),plot(x,y2) y五、(本题满分10分)试利用微分方程的数值解法写出下列微分方程的求解步骤和matlab程序. x???3tx??x?t,x(0)?2,x?(0)?0.(t的变化区间为[0,10]). 第一步:先将高阶微分方程转化为一阶微分方程组:选择状态变量x1?x?,x2?x,则原方程化为???3tx1?x2?t,?x1???x1.?x2x1(0)?0,x2(0)?2dxdt = [-3*t*x(1)+ x(2)+t; x(1)];第三步:求解微分方程,命令如下:[t,x]=ode45(@fun2,[0,10],[0;2])六、运用符号运算功能计算1.求方程ex下列各题,:?x2?2的根;?xsinxa???xe??lnx?da21?,并计算,?a(x)dx,a;dxs?x??;t?x?2e,x(0)?x?(0)?x??(0)?x???(0)?1的解2.生成符号矩阵3.计算极限limcosx?x(esinxcosx?x)x?04.用dsolve函数求解微分方程x六、参考程序: 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*a 3.syms x limit((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)七.用fsolve函数以及符号运算功能22??4x1?x2?2x1x2?x2?2?0?22??2x1?x2?3x1x2?3?0求解下面的非线性方程组:解一: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)-3 y=[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’)《matlab程序设计》参考程序一、 (30分)1. d =0 -1 f =2 0 2 0 0 6 2. a1 =1 3 3 0 a2 =0 5 0 -3-3 0 5 0 3. max(p,[ ],1)=2 2 5 4mean(p,2)=32 4. x=15 5.0 1 4 -1 0 1 -4 -1 0 6.z =2010 7.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) %3 syms 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:100 for j=1:4if cj(i,j)100 cj(i,j)=100;elseif cj(i,j)0 cj(i,j)=0;end end endkmean=round(mean(cj))disp(课程1课程2课程3课程4)disp(sprintf( %4d%7d%8d%8d ,kmean(1),kmean(2),kmean(3),k mean(4))) studentmean=round(mean(cj,2));studentnumber=[1:100];[studentnumber, studentmean] c=sum(sum(cj=90))【篇二:matlab习题及答案】241?b?1,计算a??与?468?的数组乘积。

matlab20道试题及解答

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期末考试题目及答案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 考试试题(1)产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏)答案:a=10*rand(1,10)-5;b=sort(a,'descend')1.请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5]2. 已知变量:A=’ilovematlab’;B=’matlab’, 请找出:(A)B在A中的位置。

(B)把B放在A后面,形成C=‘ilovematlabmatlab’3. 请修改下面的程序,让他们没有for循环语句!A=[1 2 3; 4 5 6; 7 8 9];[r c]=size(A);for i=1:1:rfor j=1:1:cif (A(i,j)>8 | A(i,j)<2)A(i,j)=0;endendend4. 请把变量A=[1 2 3; 4 5 6; 7 8 9]写到文件里(output.xls),写完后文件看起来是这样的1 2 3 4 5 6 7 8 95.试从Yahoo网站上获得微软公司股票的2008年9月的每日收盘价。

6.编写M文件,从Yahoo网站批量读取60000.SH至600005.SH在2008年9月份的每日收盘价(提示:使用字符串函数)。

7. 将金牛股份(000937)2005年12月14日至2006年1月10日的交易记录保存到Excel中,编写程序将数据读入MATLAB中,进一步将数据读入Access数据库文件。

8.已知资产每日回报率为0.0025,标准差为0.0208,资产现在价值为0.8亿,求5%水平下资产的10天在险价值(Var)。

9.a=[1 2 3 4 5],b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).试用MATLAB中最简单的方法计算b,注意最简单哦。

1、求下列联立方程的解3x+4y-7z-12w=45x-7y+4z+ 2w=-3x +8z- 5w=9-6x+5y-2z+10w=-8求系数矩阵的秩;求出方程组的解。

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、简述MA TLAB历史指令窗的主要作用。

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=[136****1416];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例题考试及答案

例1.1 分别绘制函数和的曲线。

x=-2*pi:pi/180:2*pi;plot(x,2.^(-abs(x)),':',x,sin(x));例1.2 求方程2x5-3x3 +71x2-9x+13=0的全部根。

p=[2,0,-3,71,-9,13];x=roots(p)例1.3 求解线性方程组。

a=[2,3,-1;8,2,3;45,3,9];b=[2;4;23];x=inv(a)*b例1.4 求积分quad('x.*log(1+x)',0,1)例2.2 利用M文件建立MYMAT矩阵。

(1)启动有关编辑程序或MATLAB文本编辑器(见第4章),并输入待建矩阵:MYMAT=[101,102,103,104,105,106,107,108,109;201,202,203,204,205,206,207,208,209;301,302,303,304,305,306,307,308,309]例2.3 建立5阶方阵A,判断A的元素是否能被3整除。

A =[24,35,13,22,63;23,39,47,80,80; ...90,41,80,29,10;45,57,85,62,21;37,19,31,88,76]P=rem(A,3)==0例2.5 建立矩阵A,然后找出在[10,20]区间的元素的位置。

(1) 建立矩阵A。

A=[4,15,-45,10,6;56,0,17,-45,0](2) 找出大于4的元素的位置。

find(A>=10 & A<=20)ans =367例2.6 建立一个字符串向量,然后对该向量做如下处理:(1)取第1~5个字符组成的子字符串。

(2)将字符串倒过来重新排列。

(3)将字符串中的小写字母变成相应的大写字母,其余字符不变。

(4)统计字符串中小写字母的个数。

命令如下:ch='ABc123d4e56Fg9';subch=ch(1:5)subch =ABc12revch=ch(end:-1:1)revch =9gF65e4d321cBAk=find(ch>='a'&ch<='z');ch(k)=ch(k)-('a'-'A');char(ch)ans =ABC123D4E56FG9length(k)ans =4例3.2 建立随机矩阵:(1) 在区间[20,50]内均匀分布的5阶随机矩阵。

MATLAB考试题目及解答

1.圆盘上有如图所示的二十个数,请找出哪4个相邻数之和最大,并指出它们的位置和数值。

(10分)2011841361015217319716811149125解答:%1.圆盘上有如图所示的二十个数,请找出哪4个相邻数之和最大,并指出它们的位置和数值。

(10分)A=[1 18 4 13 6 10 15 2 17 3 19 7 16 8 11 14 9 12 5 20];% 程序位置规定:从1开始顺时针方向计数;NumA=size(A); Num=NumA(1,2); sum(1)=A(1); for i=1:(Num-3)sum(i)=A(i)+A(i+1)+A(i+2)+A(i+3); endmaxresult=max(sum(:));%找出4个相邻数之和最大值 maxresult %4个相邻数之和最大值 Position=i %四个数起始位置 FourNumber=A(1,i:(i+3)) %四个数的值及顺序 运行结果:maxresult =50Position =17FourNumber =9 12 5 202.甲、乙、丙三人上街买糖果。

三人都买好后,甲对乙、丙说,我可以按你们现有的糖果数再送你们每人一份。

甲送给乙、丙后,乙也按甲、丙现有的糖果数,送给甲、丙每人各一份糖果。

丙也如此送了甲、乙各一份。

互相赠送后,每人恰好各有64颗糖果。

问甲、乙、丙原来各买了多少糖果?(10分)解答:%由代数关系构造矩阵 a=[1 -1 -1;0 2 0;0 0 2]; b=a([2 1 3],:); b=b(:,[2 1 3]); c=a([2 3 1],:); c=c(:,[2 3 1]); d=64*ones(3,1); result=a\(b\(c\d))运行结果:result=104 56 323.求n S a aa aaa aaa a =++++ 的值。

a 的值为1~9之间的一个整数,n S 中每一项aaa a 共有n 位。

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%折扣入所售商品的价格,求其实际销售价格。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档