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考试题及答案

%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期末考试试卷及参考答案】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道试题及解答

试题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期末考试题目及答案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 考试试题(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%折扣入所售商品的价格,求其实际销售价格。
Matlab考试题库+标准答案

Matlab考试题库+标准答案Matlab考试题库+答案————————————————————————————————作者:————————————————————————————————⽇期:3 填空题 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];写出下列各指令运⾏的结果。
matlab试题及答案开卷

matlab试题及答案开卷1. MATLAB基础操作在MATLAB中,如何创建一个名为“myMatrix”的3x3矩阵,其元素从1到9按顺序排列?答案:在MATLAB中,可以使用以下命令创建名为“myMatrix”的3x3矩阵:```matlabmyMatrix = [1 2 3; 4 5 6; 7 8 9];```或者使用内置函数`magic`:```matlabmyMatrix = magic(3);```2. 矩阵运算给定两个矩阵A和B,其中A = [2 3; 4 5],B = [6 7; 8 9],计算A+B的结果。
答案:在MATLAB中,可以使用加号`+`来计算两个矩阵的和:```matlabA = [2 3; 4 5];B = [6 7; 8 9];C = A + B;```计算结果C为:```matlabC = [8 10; 12 14];```3. 向量操作创建一个从0到1的等差数列,步长为0.1。
答案:在MATLAB中,可以使用`linspace`函数或`:`操作符来创建等差数列:```matlabv = 0:0.1:1;```或者使用`linspace`函数:```matlabv = linspace(0, 1, 11);```两种方法都将得到一个包含11个元素的向量,从0开始,到1结束,步长为0.1。
4. 条件语句编写一个MATLAB脚本,判断一个给定的数n是否为素数。
答案:可以通过以下MATLAB脚本来判断一个数n是否为素数:```matlabfunction isPrime = isPrimeNumber(n)if n <= 1isPrime = false;elsefor i = 2:sqrt(n)if mod(n, i) == 0isPrime = false;return;endendisPrime = true;endend```调用此函数时,传入一个数值n,函数将返回一个布尔值,表示n 是否为素数。
matlab试题及答案

matlab试题及答案一、单项选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是:A. vectorB. arrayC. linspaceD. colon答案:D2. 在MATLAB中,以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. MATLAB中用于进行矩阵转置的运算符是:A. 'B. .C. ^D. !答案:A4. 若A是一个3x3的矩阵,执行命令A(2,:)=0;后,矩阵A的第二行将变为:A. [0 0 0]B. [1 0 0]C. [0 1 0]D. [0 0 1]答案:A5. MATLAB中,以下哪个函数用于绘制三维曲面图?A. plotB. surfC. barD. hist答案:B二、填空题(每题3分,共15分)1. MATLAB中,使用________命令可以清除所有变量。
答案:clear2. 若要在MATLAB中创建一个从0到1的100个元素的向量,可以使用命令________。
答案:linspace(0,1,100)3. MATLAB中,使用________函数可以计算矩阵的特征值。
答案:eig4. 在MATLAB中,________函数用于计算两个矩阵的点乘。
答案:dot5. 若要在MATLAB中绘制一个圆,可以使用________函数。
答案:plot三、简答题(每题5分,共20分)1. 请解释MATLAB中矩阵索引的概念。
答案:在MATLAB中,矩阵索引指的是通过行号和列号来访问矩阵中特定元素的过程。
例如,A(2,3)表示访问矩阵A的第二行第三列的元素。
2. MATLAB中如何实现矩阵的元素乘法?答案:在MATLAB中,矩阵的元素乘法可以通过使用点乘运算符(.*)来实现。
例如,C = A .* B,其中A和B是相同大小的矩阵。
3. 请说明MATLAB中如何使用循环结构。
答案:MATLAB中可以使用for循环和while循环两种循环结构。
matlab期末考试试题及答案

matlab期末考试试题及答案### MATLAB期末考试试题及答案#### 一、单选题(每题2分,共20分)1. MATLAB中,以下哪个函数用于计算矩阵的逆?A. invB. detC. eigD. rank答案:A2. MATLAB中,如何生成一个1到10的向量?A. `1:10`B. `1..10`C. `1..10`D. `1..10`答案:A3. MATLAB中,以下哪个命令用于绘制函数f(x)=x^2的图像?A. `plot(x, x^2)`B. `plot(x, f(x))`C. `fplot(x^2)`D. `fplot(x, x^2)`答案:A4. MATLAB中,如何计算矩阵A和B的点积?A. `dot(A, B)`B. `A * B`C. `A .* B`D. `A . B`答案:C5. MATLAB中,以下哪个函数用于求解线性方程组?A. `solve`B. `fsolve`C. `ode45`D. `fminsearch`答案:A#### 二、填空题(每题3分,共15分)1. MATLAB中,使用____函数可以计算矩阵的行列式。
答案:det2. 若向量`x = [1, 2, 3]`,则`x(2)`的值为____。
答案:23. MATLAB中,使用____函数可以创建一个3x3的单位矩阵。
答案:eye4. 若要在MATLAB中绘制函数f(x)=sin(x)的图像,可以使用____函数。
答案:plot5. MATLAB中,使用____函数可以计算矩阵的特征值。
答案:eig#### 三、编程题(每题10分,共30分)1. 编写一个MATLAB函数,计算并返回一个向量中所有元素的平方和。
```matlabfunction sum_of_squares = calculateSumOfSquares(vector)sum_of_squares = sum(vector.^2);end```2. 编写一个MATLAB脚本,使用while循环计算1到100之间所有奇数的和。
matlab试题与答案

例8 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]);
1.编程实现当α∈[-π,π],间隔为1°时求解 正弦和余弦的值。 2.利用rand函数产生(0,1)间均匀分布的 10×10随机矩阵A,然后统计A中大于等于 0.6的元素个数。 3.利用randn函数产生均值为0,方差为1的 10×10正态分布随机阵A,然后统计A中大 于-0.5且小于0.5的元素个数。
调用tran.m的命令文件main1.m: x=input('Please input x=:'); y=input('Please input y=:'); [rho,the]=tran(x,y); rho the
例1 在0≤x≤2p区间内,绘制曲线 y=2e-0.5xcos(4πx) 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y),grid on;
4.编程实现下表功能
b a A<1 a≥1 b≤0.5 语句 1 语句 3 B>0.5 语句 2 语句 4
5.有一矩阵A,找出矩阵中其值大于1的元素,并 将它们重新排列成列向量B。 6.在一测量矩阵A(100×3)中,存在有奇异值(假设 大于100的值认为是奇异值),编程实现删去奇异 值所在的行。 7.在给定的100×100矩阵中,删去整行内容全为0 的行,删去整列内容全为0的列。
0 0 8 a 0 7 5 2 3 0
MATLAB习题及答案

填空题1. MATLAB于1984年由美国Mathworks公司推出,其后每年更新(两次。
2. MATLAB是一种以(矩阵)运算为基础的交互式程序设计语言。
3. MATLAB具有卓越的数值计算能力和符号计算、文字处理、可视化建模仿真和实时控制等众多功能,其每个变量代表一个(矩阵),每个元素都看作(复数)。
4.通过命令(help)、(lookfor),可以查找所有命令或函数的使用方法。
5.执行语句a=1:2:10,得到的一维数组是(1 3 5 7 9).6.执行语句b=linspace(1,10,10)后,一维数组b包含(10)个元素,最大值是10)7.函数rem()的功能是取(余)数。
8.若p=[1 0 0;1 1 0],则p|〜p=([1 1 1;1 1 1]).(注:填空时请用本题的p的方式表示结果)9.若p=[1 0 0;1 1 0],则all(p)=([1 0 0]).10.矩阵的加减运算,要求相加减的矩阵阶数相同。
若A=[1 2 3 4;2 3 1 8],则执行语句:[n,m]=size(A),则n=(2 ),m=(4 ).11.对于一维矩阵,求其长度的函数是(length()).12.数组和数组之间的运算,尤其是对于乘除运算和乘方运算,如果采用点方式进行计算,表明是数组的(元素)之间的运算关系。
13.求矩阵运算A*B时,要求在维度上,A的(列)数与B的(行)数相等。
二、判断题1.MATLAB只有一种数据类型,一种标准的输入输出语句,不需编译,可直接运行。
(对2.MATLAB的特殊常量是一些预选定义好的数值变量。
(对3.MATLAB变量名不区分大小写。
(错4.i是特殊常量。
(对5.NAN是非数。
(对6.MATLAB中所有的变量都表示一个矩阵或一个向量。
(对7.MATLAB中变量不需要先定义后使用,会自动根据实际赋值的类型对变量类型进行定义。
(对8.clc命令可以从内存中删除一个、多个和所有变量。
MATLAB考试试题及答案

MATLAB考试试题及答案一、选择题(每题5分,共25分)1. 在MATLAB中,下列哪个命令用于创建一个行向量?A. v = [1; 2; 3]B. v = [1 2 3]C. v = [1, 2, 3]D. v = (1, 2, 3)答案:B2. 在MATLAB中,下列哪个命令用于计算矩阵A的行列式?A. det(A)B. det(A')C. det(inv(A))D. det(A^2)答案:A3. 在MATLAB中,下列哪个命令用于计算矩阵A的逆?A. inv(A)B. A^(-1)C. pinv(A)D. A\B答案:A4. 在MATLAB中,下列哪个命令用于求解线性方程组Ax= b?A. A\bB. A/BC. B/AD. A^-1b答案:A5. 在MATLAB中,下列哪个命令用于绘制二维图形?A. plot(x, y)B. scatter(x, y)C. bar(x, y)D. pie(x, y)答案:A二、填空题(每题5分,共25分)6. 在MATLAB中,可以使用______命令创建一个等差数列。
答案:linspace7. 在MATLAB中,可以使用______命令创建一个等比数列。
答案:logspace8. 在MATLAB中,可以使用______命令计算矩阵A的特征值。
答案:eig(A)9. 在MATLAB中,可以使用______命令计算矩阵A的特征向量。
答案:eigenvector(A)10. 在MATLAB中,可以使用______命令计算矩阵A的奇异值。
答案:svd(A)三、解答题(每题25分,共75分)11. 编写MATLAB程序,求解以下线性方程组:2x + 3y - z = 1x - y + 2z = 03x + 2y - 4z = -3答案:```A = [2 3 -1; 1 -1 2; 3 2 -4];b = [1; 0; -3];x = A\b;disp('解为:');disp(x);```12. 编写MATLAB程序,绘制以下函数的图形:y = sin(x) + cos(x),x ∈ [0, 2π]答案:```x = linspace(0, 2pi, 100);y = sin(x) + cos(x);plot(x, y);title('y = sin(x) + cos(x)');xlabel('x');ylabel('y');grid on;```13. 编写MATLAB程序,计算以下矩阵的特征值和特征向量:A = [1 2 3; 4 5 6; 7 8 9]答案:```A = [1 2 3; 4 5 6; 7 8 9];[V, D] = eig(A);disp('特征值:');disp(diag(D));disp('特征向量:');disp(V);```14. 编写MATLAB程序,使用牛顿迭代法求解方程f(x) = x^3 - 4x + 2 = 0在x = 1附近的根。
Matlab考试题库+答案

一、辨析题(共2小题,每题 5 分,共计 10 分)二、问答题(共3小题,每题 5 分,共计 15 分)三、计算题(共7小题,每题 5 分,共计 35 分)四、编程题(共4小题,每题 10 分,共计 40 分)填空题(计算部分)1、标点符号; _______可以使命令行不显示运算结果,%——用来表示该行为注释行。
2、x为0~4pi,步长为0.1pi的向量,使用命令_______创建。
x=0:0.1*pi:4*pi,使用全下标方式用A(2,2) 取出元素3、输入矩阵A=错误!未找到引用源。
“-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文本格式存储到文件fname.txt,应使用命令_________ _;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考试题及答案注意:以下内容为虚构的期末MATLAB考试题目及答案,并非真实情况。
一、选择题1. 在MATLAB中,以下哪个命令可以将矩阵A的第一列元素求和?A) sum(A(:,1))B) sum(A(1,:))C) sum(A(1))D) sum(A(:,1))答案:A) sum(A(:,1))2. 对于向量x = [1, 2, 3, 4],以下哪个命令可以将x的元素逆序排列?A) flip(x)B) reverse(x)C) sort(x,'descend')D) sort(x,'ascend')答案:A) flip(x)3. 如果一个函数文件的文件名为"myFunction.m",那么在MATLAB中如何调用该函数?A) myFunction.mB) call myFunctionC) run myFunctionD) myFunction答案:D) myFunction4. 在MATLAB中,以下哪个命令可以生成一个在-1到1范围内均匀分布的10个数的向量?A) linspace(-1, 1, 10)B) rand(1, 10)*2-1C) linspace(1, 10, -1)D) randi([-1, 1], 1, 10)答案:B) rand(1, 10)*2-15. 对于矩阵A和B,以下哪个命令可以将它们进行垂直方向的拼接?A) vertcat(A, B)B) concat(A, B, 'vertical')C) merge(A, B, 'vertical')D) [A; B]答案:D) [A; B]二、填空题1. 假设有一个向量x = [1, 2, 3, 4],使用MATLAB命令求x的最大值。
答案:max(x)2. 假设有一个矩阵A = [1, 2, 3; 4, 5, 6; 7, 8, 9],使用MATLAB命令求A的行数。
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、简述MATLAB历史指令窗的主要作用。
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=[1 3 6 8 9 11 14 16];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、写出下列指令运行结果。
- 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(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),'°']);。