Matlab期末作业完成版

合集下载

MATLAB期末大作业

MATLAB期末大作业

MATLAB期末⼤作业学号:姓名:《Matlab/Simulink在数学计算与仿真中的应⽤》⼤作业1.假设地球和⽕星绕太阳运转的半径分别为r和2r,利⽤comet指令动画显⽰从地球到⽕星的转移轨迹(r可以任意取值,要求实时显⽰探测器、太阳、地球和⽕星的位置)。

解函数function comet(varargin)[ax,args,nargs] = axescheck(varargin{:});error(nargchk(1,3,nargs,'struct'));% Parse the rest of the inputsif nargs < 2, x = args{1}; y = x; x = 1:length(y); endif nargs == 2, [x,y] = deal(args{:}); endif nargs < 3, p = 0.10; endif nargs == 3, [x,y,p] = deal(args{:}); endif ~isscalar(p) || ~isreal(p) || p < 0 || p >= 1error('MATLAB:comet:InvalidP', ...'The input ''p'' must be a real scalar between 0 and 1.'); End指令 %particle_motiont = 0:5:16013;r1=6.7e6;%随便给定参数%---------------------------r2=2*r1;g=9.8;R=6.378e6;m=g*R^2;%内轨道v_inner=sqrt(m/r1);w_inner=v_inner/r1;x_inter=r1*cos(w_inner*t);y_inter=r1*sin(w_inner*t);%外轨道v_outer=sqrt(m/r2);w_outer=v_outer/r2;x_outer=r2*cos(w_outer*t);y_outer=r2*sin(w_outer*t);%控制器转移轨道a=(r1+r2)/2;E=-m/(2*a);V_near=sqrt(m*(2/r1-2/(r1+r2)));%转移轨道在近地点的速度V_far=sqrt(m*(2/r2-2/(r1+r2)));%转移轨道在远地点的速度h=r1*V_near;%由于在近地点的速度垂直于位置失量, h是转移轨道的⽐动量矩e=sqrt(1+2*E*h^2/m^2);%e为椭圆轨迹的偏⼼率TOF=pi*sqrt(a^3/m);%转移轨道是椭圆的⼀半及飞⾏时间是周期的⼀半(开普勒第三定律) w=pi/TOF;%椭圆轨迹的⾓速度c=a*e;b=sqrt(a^2-c^2);x_ellipse=a*cos(w*t)-0.5*r1;y_ellipse=b*sin(w*t);%动画显⽰运动轨迹x=[x_inter;x_outer;x_ellipse]';y=[y_inter;y_outer;y_ellipse]';comet(x,y)%---------------------------动态图像如下:2.利⽤两种不同途径求解边值问题dfdxf gdgdxf g f g=+=-+==34430001,,(),()的解.途径⼀:指令syms f g[f,g]=dsolve('Df=3*f+4*g,Dg=-4*f+3*g','f(0)=0,g(0)=1'); disp('f=');disp(f)disp('g=');disp(g)结果(Matlab 7.8版本)f=i/(2*exp(t*(4*i - 3))) - (i*exp(t*(4*i + 3)))/2g=exp(t*(4*i + 3))/2 + 1/(2*exp(t*(4*i - 3)))(Matlab 6.5版本)f=exp(3*t)*sin(4*t)g=exp(3*t)*cos(4*t)>>途径⼆:%problem2function dy=problem2(t,y)dy = zeros(2,1);dy(1) = 3*y(1)+4*y(2);dy(2) = -4*y(1)+3*y(2);[t,y] = ode45('problem2',[0 2],[0 1]);plot(t,y(:,1),'r',t,y(:,2),'b');图23.假设著名的Lorenz 模型的状态⽅程表⽰为-+-=+-=+-=)()()()()()()()()()()()(322133223211t x t x t x t x t x t x t x t x t x t x t x t x σρρβ其中,设28,10,3/8===σρβ。

MATLAB期末大作业模板

MATLAB期末大作业模板

MATLAB应用技术期末大作业专业:姓名:学号:分数一、在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。

请写下完整代码,展示图形结果。

(请标注题图和坐标轴,用不同颜色和不同线型分别绘制以上曲线)。

(15分)二、某公司员工的工资计算方法如下。

(1)工作时数超过120小时者,超过部分加发15%。

(2)工作时数低于60小时者,扣发700元。

(3)其余按每小时84元发。

根据员工的工时数,计算应发工资。

请写下完整的程序代码,并任意输入一工时数(使用input 函数),将结果展示(使用disp 函数)利用该代码进行计算工资,请写下计算结果。

(15分)三、编写一个函数文件,使其能够产生如下的分段函数:⎪⎩⎪⎨⎧≥<<≤-=66225.0,25.05.15.0)(x x x x xx f请编写完整的函数文件(保存函数文件名为hanshu.m ),并编写脚本文件代码,任意输入x 值(使用input 函数),在脚本文件中调用函数文件求)(x f ,展示结果(使用disp 函数),请写下计算结果。

(15分)四、将5个学生的6门功课的成绩存入矩阵P 中,进行如下处理:(1)分别求每门课的最高分、最低分及相应学生的序号。

(2)分别求每门课的平均分和标准差。

(3)5门课总分的最高分、最低分及相应学生序号。

(4)将5门课总分按从大到小顺序存入score 中,相应学生序号存入num 。

请将各小题的运行代码完整写下来,并写下运行结果。

(20分)五、请利用所学的MATLAB 知识,自主设计一个图形用户界面,请完整记录它的设计过程,需提供文字、代码和图片,以充分说明设计的图形用户界面可实现的功能。

(35分)。

matlab期末大作业

matlab期末大作业

matlab期末⼤作业MATLAB语⾔及控制系统仿真期末⼤作业姓名:熊睿班级:K0312417学号:K031241742⽇期:2014/10/18⼤作业题⽬:⼀、已知单位负反馈系统的开环传递函数为)10)(5(100)(++=s s s Ks G ,K 分别取0.5和3两种情况。

1、分别在MATLAB 命令窗⼝或Simulink 模型窗⼝,建⽴K 取不同值时控制系统的模型;2、在第1问建⽴的模型基础上,要求分别在MATLAB 命令窗⼝或Simulink 模型窗⼝中绘制并观察该系统的单位阶跃响应曲线、单位斜坡响应曲线和单位加速度响应曲线;(注意:要求将K 取不同值时系统的单位阶跃响应绘制在⼀张图中并进⾏必要的标注)3、计算两种K 值所对应系统的时域性能指标(包括调节时间、上升时间、超调量、峰值时间);4、绘制系统的伯德图和奈奎斯特曲线;5、判断当K 取7.8时系统的稳定性,如果不稳定,进⾏校正直到系统稳定为⽌。

(提⽰:可使⽤rltool ⼯具)要求:有详细的建模过程、绘图过程和分析过程,最后要求进⾏总结。

⼆、写⼀份800字左右的MATLAB 学习体会和总结。

⼀、已知单位负反馈系统的开环传递函数为)10)(5(100)(++=s s s Ks G ,K 分别取0.51、分别在MATLAB 命令窗⼝或Simulink 模型窗⼝,建⽴K 取不同值时控制系统的模型;根据题⽬,在simulink 中建⽴程序图,如图○1,利⽤To workspace 将数据导⼊workspace 中,在cammond window 中⽤plot 函数画出两个不同增益的系统的阶跃响应。

如图○2 命令窗⼝中的程序:plot(tout,Y,’r ’,tout ’Y2,’k ’)图○11234567891000.511.5时间(秒)幅值阶跃响应曲线K=0.5K=3图○22、在第1问建⽴的模型基础上,要求分别在MATLAB命令窗⼝或Simulink模型窗⼝中绘制并观察该系统的单位阶跃响应曲线、单位斜坡响应曲线和单位加速度响应曲线;(注意:要求将K取不同值时系统的单位阶跃响应绘制在⼀张图中并进⾏必要的标注)根据题⽬:在1中所创建的程序图的基础下,对K=0.5的系统分别接⼊单位阶跃、单位斜坡和单位加速度输⼊。

MATLAB期末大作业

MATLAB期末大作业

学号:姓名:《Matlab/Simulink在数学计算与仿真中的应用》大作业1.假设地球和火星绕太阳运转的半径分别为r和2r,利用comet指令动画显示从地球到火星的转移轨迹(r可以任意取值,要求实时显示探测器、太阳、地球和火星的位置)。

解函数function comet(varargin)[ax,args,nargs] = axescheck(varargin{:});error(nargchk(1,3,nargs,'struct'));% Parse the rest of the inputsif nargs < 2, x = args{1}; y = x; x = 1:length(y); endif nargs == 2, [x,y] = deal(args{:}); endif nargs < 3, p = 0.10; endif nargs == 3, [x,y,p] = deal(args{:}); endif ~isscalar(p) || ~isreal(p) || p < 0 || p >= 1error('MATLAB:comet:InvalidP', ...'The input ''p'' must be a real scalar between 0 and 1.'); End指令 %particle_motiont = 0:5:16013;r1=6.7e6;%随便给定参数%---------------------------r2=2*r1;g=9.8;R=6.378e6;m=g*R^2;%内轨道v_inner=sqrt(m/r1);w_inner=v_inner/r1;x_inter=r1*cos(w_inner*t);y_inter=r1*sin(w_inner*t);%外轨道v_outer=sqrt(m/r2);w_outer=v_outer/r2;x_outer=r2*cos(w_outer*t);y_outer=r2*sin(w_outer*t);%控制器转移轨道a=(r1+r2)/2;E=-m/(2*a);V_near=sqrt(m*(2/r1-2/(r1+r2)));%转移轨道在近地点的速度V_far=sqrt(m*(2/r2-2/(r1+r2)));%转移轨道在远地点的速度h=r1*V_near;%由于在近地点的速度垂直于位置失量, h是转移轨道的比动量矩e=sqrt(1+2*E*h^2/m^2);%e为椭圆轨迹的偏心率TOF=pi*sqrt(a^3/m);%转移轨道是椭圆的一半及飞行时间是周期的一半(开普勒第三定律)w=pi/TOF;%椭圆轨迹的角速度c=a*e;b=sqrt(a^2-c^2);x_ellipse=a*cos(w*t)-0.5*r1;y_ellipse=b*sin(w*t);%动画显示运动轨迹x=[x_inter;x_outer;x_ellipse]';y=[y_inter;y_outer;y_ellipse]';comet(x,y)%---------------------------动态图像如下:2.利用两种不同途径求解边值问题dfdxf gdgdxf g f g=+=-+==34430001,,(),()的解.途径一:指令syms f g[f,g]=dsolve('Df=3*f+4*g,Dg=-4*f+3*g','f(0)=0,g(0)=1');disp('f=');disp(f)disp('g=');disp(g)结果(Matlab 7.8版本)f=i/(2*exp(t*(4*i - 3))) - (i*exp(t*(4*i + 3)))/2g=exp(t*(4*i + 3))/2 + 1/(2*exp(t*(4*i - 3)))(Matlab 6.5版本)f=exp(3*t)*sin(4*t)g=exp(3*t)*cos(4*t)>>途径二:%problem2function dy=problem2(t,y)dy = zeros(2,1);dy(1) = 3*y(1)+4*y(2);dy(2) = -4*y(1)+3*y(2);[t,y] = ode45('problem2',[0 2],[0 1]);plot(t,y(:,1),'r',t,y(:,2),'b');图23.假设著名的Lorenz 模型的状态方程表示为⎪⎩⎪⎨⎧-+-=+-=+-=)()()()()()()()()()()()(322133223211t x t x t x t x t x t x t x t x t x t x t x t x σρρβ 其中,设28,10,3/8===σρβ。

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 /Simulink的风力发电机仿真施茂良200830460226陶杰2008304602272012年1月2日题目:用simulink 搭建风力发电机部分的仿真图,使其工作模式满足式(2-4),使用的发电机是永磁同步电机,具体背景材料附后。

风力发电机的控制思路如下:我们需要依据风的速度控制电机的转速使得风能的利用率最高,而电机的转速通过改变永磁同步电机的定子端电压ud 和uq 来实现,具体方程为(3-28)。

最终通过PWM 的导通关断时间来改变端电压,如材料图 2所示。

具体要求:1. 根据公式(2-5)画出类似 图2.3 的曲线。

且当β=0时,画出为获得最大的风能利用率,叶尖速λ和风速v 之间的曲线关系。

风力机用来捕获风能,将叶片迎风扫掠面积内的一部分空气的动能转换为有用的机械能,它决定了整个风力发电系统装置有效功率的输出。

风力机的输入功率是3231122V P A v R v ρρπ==式中,ρ为空气密度;A 为风力机叶片扫掠面积;R 为叶片半径。

v 为风速。

风力机的输出功率为3012p P A v C ρ=式中,pC 为风能利用系数,其值小于1。

风力机输出转矩为;其中λ为叶尖速比 风能利用系数pC 为风力机将风能转换为机械能的效率,它与风速、叶片转速,叶片直径和桨叶节距角均有关系,是叶尖速比λ和桨叶节距角β的函数。

叶尖速比λ是风能叶尖速与风速之比,即R v ωλ=式中,ω为风力机叶片旋转角速度。

根据上文可知,功率与风速具有一定的关系,它们可以用下面的函数来表示213116(,)0.5176(0.45)0.0068110.0350.081i p i iC e λβλβλλλλββ-⎧=--+⎪⎪⎨⎪=-⎪++⎩根据公式(2-5)在simulink 中的建模如图所示:Matlab 波形曲线图其中(β = 0 ,2,5,8,12,15 )代入公式2-5的曲线 蓝色曲线为β=0时风能利用系数p C 与β和λ之间的曲线据根λ=RW/v; 叶尖速λ和转速v 的关系,绘制如下图:2.搭建一个模块,使其产生自然风(5-26),并封装起来,画出一具体的 然风的曲线自然风是非常随机的一种物理现象,其产生机理非常复杂,对其建模也殊为不易。

MATLAB期末大作业

MATLAB期末大作业

1.龟兔赛跑本题旨在可视化龟兔赛跑的过程。

比赛的跑道由周长为P面积为A的矩形构成。

每单位时间,乌龟沿跑道缓慢前进一步,而兔子信心满满,每次以一个固定的概率决定走或不走。

如果选择走,就从2-10步中等概率选择一个步长。

每个单位时间用一个循环表示。

赛跑从矩形跑道左上点(0,0)开始,并沿顺时针方向进行。

不管是乌龟或兔子,谁先到达终点,比赛就告结束。

要求:编写MATLAB程序可视化上述过程。

程序以P,A以及兔子每次休息或前进的概率为输入参量。

程序必须可视化每个时刻龟兔赛跑的进程,并以红色“*”表示乌龟,蓝色的“—”表示兔子。

测试时可取P=460,A=9000。

通过上述例子,可否从理论和实验角度估计兔子休息或前进的概率,是的兔子和乌龟在概率意义下打平手。

2.黄金分割Fibonacci数列F n通过如下递推格式定义F n=F n-1+F n-2,其中F0=F1=1要求:1.计算前51项Fibonacci数,并存入一个向量2.利用上述向量计算比值F n/F n-13.验证该比值收敛到黄金比例(1+5)/23.图像处理此题旨在熟悉图像处理的基本操作,请各位自己选择一张彩色图像pMATLAB以三维数组读取一张彩图。

该彩图上每个像素位置分别存放一个取值0-255的三维向量,其三个分量分别表示该点的红(R)绿(G)蓝(B)强度信息。

要求:编写MATLAB程序,读入原始彩色图像,并且在一个图形窗口界面下显示六张图像。

这六张图分别是原始RGB彩图,及其5各变形:RBG,BRG,BGR,GBR和GRB。

每张子图要求以其对应变形命名。

最后将图像以a.jpg形式保存并黏贴至报告中。

提示:imread, imshow, cat。

matlab期末大作业题目及答案

matlab期末大作业题目及答案

matlab 期末大作业(30分,每题6分)1. 积分运算(第四数值和五章符号)(1)定积分运算:分别采用数值法(quad ,dblquad )和符号运算(syms, int )一重定积分π⎰1. 数值法(quad )a) 运行代码:b) 运行结果:2. 符号运算(syms )a) 运行代码:b) 运行结果:二重定积分112200()x y dxdy+⎰⎰1.数值法(dblquad):a)运行代码:b)运行结果:2.符号运算(syms):a)运行代码:b)运行结果:(2) 不定积分运算sin dxdy ⎰⎰((x/a)+b/y) i.运行代码:ii.运行结果:2. 用符号法和数值法求解线性代数方程 (第五章和第二章)⎩⎨⎧=+=+12*22x *213*12x *a11y a a y a (1) 用syms 定义待解符号变量x,y 和符号参数a11,a12,a21,a22,用符号solve 求x,y 通解 1. 运行代码:2. 运行结果:(2) 用subs 带入a11=2,a12=4,a21=6,a22=8,求x 和y 特解,用vpa 输出有效数值4位的结果 1. 运行代码:2. 运行结果:(3) 采用左除(\)和逆乘法求解符号参数赋值后的方程 ⎩⎨⎧=+=+12*8x *63*4x *2y y1. 运行代码:2. 运行结果:3.数值法和符号法求解非线性方程组(第四数值和五章符号 )(1)采用数值法(fsolve )求解初始估计值为x0 = [-5; -5]的数值解1. 运行代码:2. 运行结果:21x 21x 21e x 2x e x x 2--=+-=-(2)符号法(solve )的符号结果用eval 或double 转化为数值结果.1. 运行代码:2. 运行结果:4. 解二阶微分方程 (第四数值和五章符号 )⎪⎩⎪⎨⎧===++6)0(',0)0(09322y y y dx dy dx y d(1)数值ode 求特解,用plot (x,y) 画t 在[0,10]范围内(x ,y )数值曲线 1. 运行代码:2. 运行结果:(2)符号运算dsolve求通解,用ezplot画t在[0,10]范围内(x,y)符号曲线1. 运行代码:2. 运行结果:5. 三维绘图(第六章)已知:x和y都在[-8,8]范围内,采用subplot(3,1,x)绘制三个子图,它们分别是用meshgrid和mesh绘制网格图、用c=contour 绘制等位线和用surf 绘制曲面图1.运行代码:2.运行结果:。

杭州电子科技大学matlab期末作业

杭州电子科技大学matlab期末作业

Matlab课程设计作业机械三班一、(1)建立数学模型>> num=[1];>> den=conv([0.2 1 0],[0.15 1]); >> G=tf(num,den)Transfer function:1-----------------------0.03 s^3 + 0.35 s^2 + s(2)根轨迹(3)K值的确定>> K=0:0.05:200;rlocus(G,K)[K,POLES]=rlocfind(G)selected_point =0.0059 + 5.7764iK =11.6902POLES =-11.67130.0023 + 5.7782i0.0023 - 5.7782i(4)超前校正>>sigma=0.2 ;zeta=((log(1/sigma))^2/((pi)^2+(log(1/sigma))^2))^(1/2); wn=3/zeta;p=[1 2*zeta*wn wn*wn];s=roots(p)>> s1=s(1);ng=1;dg=[0.03 0.35 1 0];ngv=polyval(ng,s1);dgv=polyval(dg,s1);g=ngv/dgv;theta=angle(g);phic=pi-theta;phi=angle(s1);thetaz=(phi+phic)/2;thetap=(phi-phic)/2;zc=real(s1)-imag(s1)/tan(thetaz);pc=real(s1)-imag(s1)/tan(thetap);nc=[1 -zc];dc=[1 -pc];Gc=tf(nc,dc)>> G=tf(ng,dg);rlocus(Gc*G)sgrid(0.4559,[])>> step(feedback(19.9*Gc*G,1))4)校正前后的simulink仿真模型1)校正前2)校正后(5)校正前单位响应曲线和单位脉冲曲线:>> num=[0 1];>> den=[0.03 0.35 1 0];>> G=tf(num,den);>> G0=feedback(G,1);>> step(G0)校正前单位响应>>impulse(G0)校正前单位脉冲响应校正后单位响应曲线和单位脉冲曲线:>> num=[19.9 57.6416];>> den=[0.03 0.809 6.355 15.3 0];>> G=tf(num,den);>> G0=feedback(G,1)>> step(G0)校正后单位响应>> impulse(G0) 校正后单位脉冲响应第二题:(1):>> num=10;den=[0.1 0.7 1 0];G=tf(num,den);nyquist(G)>>delta=11.1;s=tf('s');G=10/(s*(0.2*s+1)*(0.5*s+1)); margin(G)[gm,pm]=margin(G)phim1=50;phim=phim1-pm+delta;phim=phim*pi/180;alfa=(1+sin(phim))/(1-sin(phim))a=10*log10(alfa);[mag,phase,w]=bode(G);adB=20*log10(mag);wm=spline(adB,w,-a);t=1/(wm*sqrt(alfa));Gc=(1+alfa*t*s)/(1+t*s)/alfa;[gmc,pmc]=margin(G*Gc)figure;margin(G*Gc)前:后:、>> figure;step(feedback(G,1))>> figure;step(feedback(G*Gc,1))。

matlab期末大作业

matlab期末大作业

电气学科大类Modern Control SystemsAnalysis and DesignUsing Matlab and Simulink Title: Automobile Velocity ControlName: 巫宇智Student ID: U200811997Class:电气0811电气0811 巫宇智CataloguePreface (3)The Design Introduction (4)Relative Knowledge (5)Design and Analyze (6)Compare and Conclusion (19)After design (20)Appendix (22)Reference (22)Automobile Velocity Control1.Preface:With the high pace of human civilization development, the car has been a common tools for people. However, some problems also arise in such tendency. Among many problems, the velocity control seems to a significant challenge.In a automated highway system, using the velocity control system to maintain the speed of the car can effectively reduce the potential danger of driving a car and also will bring much convenience to drivers.This article aims at the discussion about velocity control system and the compensator to ameliorate the preference of the plant, thus meets the complicated demands from people. The discussion is based on the simulation of MATLAB.Key word: PI controller, root locus电气0811 巫宇智2.The Design Introduction:Figure 2-1 automated highway systemThe figure shows an automated highway system, and according to computing and simulation, a velocity control system for maintaining the velocity if the two automobiles is developed as below.Figure 2-2 velocity control systemThe input, R(s), is the desired relative velocity between the twoAutomobile Velocity Controlvehicles. Our design goal is to develop a controller that can maintain the vehicles in several specification below.DS1 Zero steady-state error to a step inputDS2 Steady-state error due to a ramp input of less than 25% of the input magnitude.DS3 Percent overshoot less than 5% to a step input.DS4 Settling time less than 1.5 seconds to a step input( using a 2% criterion to establish settling time)3.Relative Knowledge:Controller here actually serves as a compensator, and we have some compensators for different specification and system.电气0811 巫宇智4.Design and Analysis:4.1S pecification analysisAccording to the relative knowledge above, I may consider a PI controller to compensate------------G c(s)=k p s+k I.sDs1: zero steady error to step response:To introduce an integral part to add the system type is enough.Ds2: Steady-state error due to a ramp input of less than 25% of the input magnitude.limsGc(s)G(s)≥4 −−→ Ki>4abs→0Ds3: overshoot less than 5% to a step response.P.0≤5% −−→ξ≥0.69DS4 Settling time less than 1.5 seconds to a step input( using a 2% criterion to establish settling time)Ts≤1.5 −−→ξ∗Wn≥2.66According to DS3 and DS4, we can draw the desired regionto placeAutomobile Velocity Controlour close-loop poles.(as the shadow indicate)Figure 4-1 Desired region for locating the dominant polesAfter adding the controller, the system transfer function become:T(s)=Kp s+Kis3+10s2+(16+Kp)s+KiThe corresponding Routh array is:s3 1 Kp+ab s2a+b Kis1ba KiabKpba+-++))((电气0811 巫宇智s0KiFor stability, we have (a+b)(Kp+ab)−Kia+b>0For another consideration, we need to put the break point of root locus to the shadow area in Figure 4-1 to ensure the dominant poles placed on the left of s=-2.66 line.a=−a−b−(−Ki Kp)2<−2.66In all, the specification is equal to a PI controller with limit below.{(a+b)(Kp+ab)−Kia+b>0⋯⋯⋯⋯⋯①KiKp<−5.32+(a+b)⋯⋯⋯⋯⋯⋯⋯②Ki>4ab⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯③4.2Design process:4.2.1Controller verification:At the very beginning, we take the system with G(s)=1(s+2)(s+8)and the controller (provided by the book) withG c(s)=33+66sfor an initial discussion.Automobile Velocity ControlFigure 4-2 step response( a=2,b=8,Kp=33,Ki=66)Figure 4-3 ramp response( a=2,b=8,Kp=33,Ki=66)电气0811 巫宇智From figure 4-2, we can see that the overshoot is 4.75%, and the settling time is 1.04 s with zero error to the step input.From figure 4-3, it is clear that the ramp steady-state error is a little less than 25%.Thus, the controller with G c(s)=33+66scompletely meets the specification .4.2.2further analysis:For next procedure, I will have some more specific discussion about the applicable range of this controller to see how much can a and b vary yet allow the system to remain stable.We don’t change the parameter of the controller, and insert the Ki=66, Kp=33 into the inequality and get this:.{ab<16.5a+b>7.32ab+33−66a+b>0If we suppose the system to be a minimum phase system, a,b>0,thus it is easy to verify the 3rd inequality. Now, we draw to see the range of a and b.Figure4-4 the range of a,b for controller(Kp=33,Ki=66)Actually, the shade area can not completely meets the specification, for the constraint conditions represented in the 3 inequality is not enough, we need to draw the root locus for a certain system(a and b) to locate the actual limit for controller.However, this task is rather difficult, in a way, the 4 variables (a,b,Ki,Kp) all vary in terms of others’ change . Thus we can approximately locate the range of a and b from the figure above.4.2.3Alternatives discussion:According to inequality ①②③,The range of a and b bear some relation with the inequality below:{ a +b >5.32+Ki Kp ab <Ki 4Kp +ab −Ki a +b >0Basing our assumption on the range in the previous discussion, we can easily see that in order to increase the range, we can increase Ki and decrease the ratio of Ki to Kp.Thus, I adjust the parameter to{Ki =80Kp =64Figure4-5 the range of a,b for controller(Kp=64,Ki=80)As the figure indicate,(the range between dotted lines refers tothe previous controller, while the range between red lines refers to the new alternatives), the range increase as we expect.Next step, we may keep the system of G(s)=1(s+2)(s+8)fixed, and discuss the different compensating effect of different PI parameter.When carefully checking the controller, we may find that the controller actually add a zero( -Ki/Kp) , an integral part and a gain part, so we can only change the zero and draw the locus root and examine the step response and ramp response.KiKp=1.5:Figure4-6 the root locus (KiKp=1.5)Using rlocfind, we find the maximum Kp=34.8740So we choose 3 groups of parameter ([35,52.5],[30.45],[25,37.5]) to examine the reponseFigure4-7 the step response (KiKp=1.5)It’s clear that the step response preference is not satisfying with too long settling timeKiKp=2:Figure4-8 the root locus (KiKp=2)Using rlocfind, we find the maximum Kp=34.3673So we choose 3 groups of parameter to examine the response and ramp response.Figure4-9 the step response (KiKp=2)Figure4-10 the ramp response (KiKp=2)KiKp=2.5:Figure4-11 the root locus (KiKp=2.5)Using rlocfind, we find the maximum Kp=31.47Similarly, we choose 3 groups of parameter to examine the response and ramp response.Figure4-12 the step response (KiKp=2.5)Virtually, the overshoot (Kp=30, Ki=75) doesn’t meet thespecification as we expect. I guess, that may come from the effect ofzero(-2.5), thus , go back to the step response of KiKp=2, due to the elimination between zero(-2) and poles, thus the preference is within our expectation.Figure4-13 the ramp response (KiKp=2.5)pare and ConclusionMainly from the step response and ramp response, it can be concluded that, in a certain ratio of Ki to Kp, the larger Kp brings smaller ramp response error, as well as larger range of applicable system. Nevertheless, the larger Kp means worse step response preference(including overshoot and settling time).This contradiction is rather common in control system.In all, to get the most satisfying preference, we need to balanceall the parameter to make a compromise, but not a single parameter.From what we are talking about, we find the controller provided by the book(Kp=33, Ki=66) may be one of the best controller in comparison to some degree, with satisfying step response and ramp response preference, as well as a wider range for the variation of a and b, further, it use a zero(s=-2) to transfer the 3rd order system to 2nd order system, in doing so, we may eliminate some unexpected influence from the zero.The controller verified above (in Figure4-9 and Figure 4-10) with Kp=34, Kp=68 may be a little better, but only a little, and it doesn’t leave some margin.6.After Design这是一次艰难,且漫长的大作业,连续一个星期,每天忙到晚上3点,总算完成了这个设计,至少我自己是很满意的。

matlab期末作业_附源代码

matlab期末作业_附源代码
②Matlab源代码
clc f=[-11,-9]'; A=[6,5;10,20]; B=[60,150]; Ae=[]; Be=[]; xm=[0,0]; xM=[8,Inf]; [x,f_opt]=linprog(f,A,B,Ae,Be,xm,xM)
6
③结果如下:
Optimization terminated. x= 8.0000 2.4000 f_opt = -109.6000
⑤结果分析: 生产甲800箱,生产乙240箱,获利最多为109.6万元。 显然应该是要改变生产计划的,改变计划获利增加。
7
②编写 m 文件
function y = myodefun(t,x ) y=[-x(1)^3-x(2);x(1)-x(2)^3]; end
0<t<30
③在 command 窗口中输入:
>> tspan=[0,30]; >> x0=[1;0.5]; >> [t,x]=ode45('myodefun',tspan,x0); >> plot(t,x(:,1),'g*',t,x(:,2),'b-.');
②Matlab源代码
clc f=[-10,-9]'; A=[6,5;10,20]; B=[60,150]; Ae=[]; Be=[]; xm=[0,0]; xM=[8,Inf]; [x,f_opt]=linprog(f,A,B,Ae,Be,xm,xM)
③结果如下:
Optimization terminated. x= 6.4286 4.2857 f_opt = -102.8571
1
1.求解微分方程组,画出解函数图。

(完整版)武汉大学matlab期末课程作业

(完整版)武汉大学matlab期末课程作业

(完整版)武汉⼤学matlab期末课程作业“MATLAB及其应⽤”课程作业院系:姓名:学号:联系⽅式:1. 请指出如下5个变量名中,哪些是合法的? abcd-2 xyz_3 3chan a 变量 ABCDefgh答:xyz_3,ABCDefgh 是合法的。

2. 在命令窗中,运⾏命令a=sqrt(2)。

然后请回答以下问题:计算结果a吗?该计算结果只是5近似吗?请在命令窗中,显⽰出具有最多位有MATLAB 数值结果显⽰的默认设置。

该计算结果只是5近似。

3. 命令clear, clf, clc 各有什么⽤处?答:clear 可以清除matlab ⼯作空间中保持的变量。

clf 可以清除图形窗。

clc 清除命令窗中显⽰内容。

4. 想要在MATLAB 中产⽣⼆维数组=987654321S ,下⾯哪些命令能实现⽬的? S=[1,2,3;4,5,6;7,8;9]S=[1 2 3;4 5 6;7 8 9]S=[1,2,3;4,5,6;7,8,9] %整个命令在中⽂状态下输⼊答:第⼆条S=[1 2 3;4 5 6;7 8 9]能实现⽬的。

中⽂状态下逗号不是有效字符。

1.说出以下四条命令产⽣的结果各属于哪种数据类型,是“双精度”对象,还是“符号”对象?3/7+0.1, sym(3/7+0.1), vpa(sym(3/7+0.1),4), vpa(sym(3/7+0.1))答:3/7+0.1结果是双精度。

sym(3/7+0.1)结果是符号。

vpa(sym(3/7+0.1),4)结果是符号。

vpa(sym(3/7+0.1))结果是符号。

过程如图:2.已知a1=sin(sym(pi/4)+exp(sym(0.7)+sym(pi/3)))产⽣精准符号数字,请回答:以下产⽣的各种符号数哪些是精准的?若不精准,误差⼜是多少?能说出产⽣误差的原因吗?a2=sin(sym(pi/4)+exp(sym(0.7))*exp(sym(pi/3)))a3=sin(sym('pi/4')+exp(sym('0.7'))*exp(sym('pi/3')))a4=sin(sym('pi/4')+exp(sym('0.7+pi/3')))a5=sin(sym(pi/4)+exp(sym(0.7+pi/3)))a6=sin(sym(pi/4)+sym(exp(0.7+pi/3)))a7=sin(sym(pi/4+exp(0.7+pi/3)))a8=sym(sin(pi/4+exp(0.7+pi/3)))(提⽰:可⽤vpa观察误差;注意数位的设置)。

山东大学《matlab程序设计》期末作业

山东大学《matlab程序设计》期末作业

《Matlab 程序设计》 期末作业学院: 专业: 班级:学号: 姓名: 成绩:一 、 简答题(每题10分,共50分)1、假设有两个矩阵A 和B ,请用这两个矩阵说明Matlab 数值计算中的“左除”与“右除”有什么区别?2、脚本M 文件与函数M 文件的主要区别是什么?3、设矩阵A=[1 4 3 9;5 30 12 42;2 18 32 15],试编程找出A 中所有大于或等于5的元素,并把这些元素组成一个列向量,并计算出这些元素的总和(注意附上标注说明)4、利用Matlab 编写程序求取335lim 21x x x →∞++和120()t t dt -⎰,并对求取结果进行分子和分母的提取(注意附上标注说明)。

5、利用Matlab 编写程序求微分方程x e y y y x 2cos 52=+'-''的通解。

二、 综合题(每题20分,共40分)1、在同一张图上分别画出两组坐标)10,,2,1(),4,(),,(3222 =+i i i i i i 的散点图和折线图。

要求只能利用plot 命令进行绘制,X 坐标范围[0,105] ,Y 坐标范围[0,1450]。

2、已知学生的名字和百分制分数。

编写相应的程序要求输入所有学生的百分制分数后,一次性判断每个学生的成绩分别是“满分”、“优秀”、“良好”、“及格”还是“不及格”,并要求最后用单元数组按行分别输出每个学生的名字、分数和成绩判断结果。

学生姓名 Jack Marry Peter Rose Tom成 绩 72 83 56 94 100判断标准:满分(100),优秀(90-99),良好(80-89),及格(60-79),不及格(<60)三、 论述题(共10分)浅谈一下Fortran 、matlab 、maple 和mathematic 这四种计算语言的特点和区别。

MATLAB程序设计期末大作业

MATLAB程序设计期末大作业

MATLAB程序设计期末大作业姓名:班级:学号:指导教师:题目1给定如图1所示的单位负反馈系统。

图1在系统中分别引入不同的非线性环节(饱和、死区、与滞环),观察系统的阶跃响应,并且分析比较不同的非线性环节对系统性能的影响。

解:1、利用MATLAB中的simulink工具箱,对题设控制系统进行建模,如图1 所示。

则没有任何非线性环节的系统,其阶跃响应曲线如图2 所示。

图22、在系统中加入饱和非线性环节,系统框图如图3所示。

其中,饱和非线性环节的输出上限为0.1,输出下限为-0.1;阶跃信号幅值为1。

图3利用simulink进行仿真,得到的阶跃响应曲线如图4所示。

图4为了比较当饱和非线性环节输出上下限变化时系统阶跃响应的不同,可以利用simulink中的to workspace模块,将多次仿真的结果记录到工作空间的不同数组中,并且绘制到同一幅图像上。

此时,系统框图如图5所示。

图5将4种情况下系统的阶跃响应曲线绘制在同一幅图像中,代码如下:>> plot(tout,out2);>> plot(tout,out2);>> hold on;>> grid on;>> gtext('0.1');>> plot(tout,out1);>> plot(tout,out3);>> gtext('0.2');>> plot(tout,out4);>> gtext('0.5');运行程序,结果如图6所示。

图6从图6中可以看出:当饱和非线性环节的输出范围较窄时,系统的阶跃响应速度较慢,上升时间长;同时,超调量较小,振荡不明显;随着输出范围的扩大,系统的响应速度加快,上升时间大大减小,同时伴有显著的振荡。

这是因为饱和环节会对信号起到限幅作用;不难想象,限制作用越强,系统的输出越不容易超调,响应也会越慢,这从图6也可以看出这一趋势。

MATLAB期末大作业模版

MATLAB期末大作业模版

学号:《MATLAB》期末大作业学院土木工程与建筑学院专业班级姓名指导教师李琳2018年5月16日题目2:问题描述:在[0 2π]范围内绘制二维曲线图y=cos(5x)*sin(x)(1)问题分析这是一个二维绘图问题,先划定x的范围与间距,再列出y的表达式,利用plot函数绘制二维曲线。

(2)软件说明及源代码>> x = 0:pi/10:2*pi;>>y = cos(5*x).*sin(x);>>plot(x,y)(3)实验结果题目4:问题描述:创建符号函数并求解,要求写出步骤和运行结果(1)创建符号函数f=ax2+bx+c(2)求f=0的解(1)问题分析这是一个符号函数显示以及符号函数的求解问题,第一问先定义常量与变量,在写出f表达式,利用pretty函数显示f。

第二问利用solve函数求解f=0时的解。

(2)软件说明及源代码第一问>> syms a b c x;>> f=a*x^2+b*x+c;>> pretty(f)第二问>>syms a b c x;>>f=a*x^2+b*x+c;>> solve(f)(3)实验结果1、2、题目5:问题描述:求积分(1)问题分析这是一个利用符号函数求积分的问题,先定义变量x,再列出I1表达式,利用int函数求在范围0到Pi/2上的积分。

(2)软件说明及源代码>> syms x;>> I1=(1-2*sin(2*x))^0.5;>> int(I1,0,0.5*pi)(3)实验结果题目6:问题描述:分别随机产生一个6×6的整数矩阵(元素可在[-20,20]之间),求该随机阵的秩,特征值和特征向量。

(1)问题分析这是一个矩阵运算问题,先利用rand函数产生一个6*6的元素在-20到20之间的整形矩阵,再利用rank、eig两个函数分别求该随机阵的秩,特征值和特征向量。

MATLAB期末作业资料终极

MATLAB期末作业资料终极

一、填空题:(共20 分)1、产生 4阶全 0 方阵的命令为zeros(4) ;产生 3 阶全 1方阵的命令为ones(3).2、标点符号;可以使命令行不显示运算结果 ; %用来表示该行为注释行。

3、 P,Q分别是两个多项式的系数向量,求 P对应的多项式的积分 (对应的常数为 K) ,使用的命令是polyint(P,K) ;求P/Q的解,商和余数分别保存在k 和r中,使用的命令是[k,r]= deconv (P,Q) 矚慫润厲钐瘗睞枥庑赖。

4、在 C 盘上创建目录 my_dir 的命令是mkdir( ‘ ','my-dir ');使 c:\my_dir 成为当前目录的命令是聞創沟燴鐺險爱氇谴净。

cd c:\my -dir 。

5、已知 A=[0 9 6;1 3 0];B=[1 4 3;1 5 0]; 写出各指令运行的结果。

A&B 的运行结果 ans= 01 11 1 0A./ B 的运行结果ans= 0 2.2500 2.0000 1.0000 0.6000 NaN6、要判断 else 是否是 MATLAB 关键字的命令是exist User Name; exist else 的运行结果非零,说明 else 是(填“是”或“不是” ) MATLAB 的关键字。

残骛楼諍锩瀨濟溆塹籟。

7、 A=rand(2,5);b=size(A);c=length(A); 则 b和 c 的值分别为[ 2 ,5 ] 和5 。

酽锕极額閉镇桧猪訣锥。

8、为了使两个 plot 的图形在同一个坐标显示,可以使用hold on 命令进行图形保持;可以使用grid on 命令为图形添加网格。

彈贸摄尔霁毙攬砖卤庑。

9 、MATLAB 的工作空间中有三个变量v1,v2,v3 ,写出把它们保存到文件mydata.mat 中的指令save mydata.mat;写出把mydata.mat 文件中的变量读取到MATLAB 工作空间内的指令load mydata.mat。

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

课程考核
课程名称:MATLAB语言及应用学时学分考生学号: 姓名__ 班级成绩
1、考核形式:考查
2、考核具体要求:
课程作业
3、上交时间:
任课教师:
1.利用plot函数同时绘制正弦函数x=sin(t)和二次函数y=t2-1的图形。

对图像x轴和y轴分别标注“时间”和“函数值”,标题标注为斜体的“函数曲线”(14分)。

>>t1=-4*pi:0.01:4*pi;
t2=-4*pi:0.01:4*pi;
y1=sin(t1);
y2=t2.*t2-1;
plot(t1,y1,t2,y2)
xlabel(‘x轴(时间)’)
ylabel(‘y轴(函数值)’)
title(‘函数曲线’,’fontangle’,’italic’)
2.利用for循环求1!+3!+5!+ 7!+9!的值(12分)。

>>sum=0;
k=1;
for i=1:2:9;
for j=1:1:i;
k=k*j;
end
sum=sum+k;
k=1;
end
>>sum
3.编写m 函数,计算函数值(12分)
⎪⎩
⎪⎨⎧≥-<<-≤=10
111011
31,2x e x x x x y x
建立一个m 文件: function y=fdhs(x)
x=input(‘请输入一个数:’);
if x<1
y=x;
elseif x>1&x<10
y=3*x^2-1;
else
y=exp(x)-11;
end
运行结果:
4.生成一个4阶Pascal 矩阵,计算其特征值、特征向量和它的迹。

抽取它的对角线元素生成只含对角线元素其它元素均为零的四阶矩阵(12分)。

V,D:矩阵A 的特征向量矩阵,特征值矩阵.B 为它的迹
5.在某一化学反应里,实验得到的某反应物的浓度和时间有非线性关系211
y t =+,试求在时间为0、20、40、60、80时的浓度(10分)。

>>t=0:20:80;
y=1./(t.^2+1)
运行结果:
6.用fsolve 函数求解下面非线性方程(12分)。

211212
0.3cos 00.3sin 0.6sin 0.6cos 0x x x x x x ---=⎧⎨+=⎩ 1.建立一个m 文件:
function y=fun(x)
y=[x(1)-0.6*sin(x(1))-0.3*cos(x(2)),x(2)-0.6*cos(x(1))+0.3*sin(x(2))];(保存不运行)
2.在命令窗口中输入:
x0=[0.1,0.1];
fsolve(@fun,x0,optimset)
3运行结果:
7.在同一图形窗口中任意绘制四个两两不同的子图,每个子图都需有相应曲线名作为标题(10分)。

>>subplot(2,2,1)
t=0.1:0.1:2*pi;
y=sint(t);
plot(t,y)
title(‘正弦曲线’)
subplot(2,2,2)
t=0.1:0.1:2*pi;
y=cos(t);
plot(t,y)
title(‘余弦曲线’)
subplot(2,2,3)
x=1:0.01:5;
y=exp(x);
plot(x,y)
title(‘以e 为底的指数曲线’)
subplot(2,2,4)
x=1:0.1:10;
y=sqrt(x);
plot(x,y)
title(‘开根曲线’)
8.试用Simulink仿真如下二阶系统:x”+0.4x’+0.9x=0.7u(t), 其中u(t)是脉冲信号,初值x(0)=0。

试建立系统模型并仿真(18分)。

相关文档
最新文档