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语⾔及控制系统仿真期末⼤作业姓名:熊睿班级: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/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 /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期末大作业

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》期末大作业给出程序、图、作业分析,程序需加注释。
1. 试编写名为fun.m 的MATLAB 函数,用以计算下述的值:⎪⎩⎪⎨⎧-<->=t t n t t t n t f 的)4/sin()(si 对所有)4/sin(其他情况)sin(的)4/sin()(si 对所有)4/sin()(ππππ绘制t 关于函数f(t)的图形,其中t 的取值范围为ππ66≤≤-t ,间距为10/π。
function y=fun()%定义函数%t=-6*pi:pi/10:6*pi; %定义变量范围 y =(sin(pi/4)).*(sin(t)>sin(pi/4))+(sin(-pi/4)).*(sin(t)<sin(-pi/4))+(sin(t)).*((sin(t)<=sin(pi/4))&(sin(t)>=sin(-pi/4)));%函数表示 plot(t,y); %画图 end2.解以下线性方程组⎪⎩⎪⎨⎧=+=++=--353042231321321x x x x x x x xA=[2 -1 -1;1 1 4;3 0 5];%输入矩阵 B=[2;0;3]; %输入矩阵 X = A\B %计算结果3.已知矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=44434241343332312423222114131211A 求: (1)A(2:3,2:3)(2)A(:,1:2) (3)A(2:3,[1,3])(4)[A,[ones(2,2);eye(2)]]A=[11 12 13 14;21 22 23 24;31 32 33 34;41 42 43 44];%输入矩阵A(2:3,2:3) %输出矩阵A(:,1:2) %输出矩阵A(2:3,[1,3]) %输出矩阵[A,[ones(2,2);eye(2)]] %输出矩阵4.数学函数()2222sinyxyxz++=定义在区域[-8,8]×[-8,8]上。
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期末作业_附源代码

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.求解微分方程组,画出解函数图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB应用技术
期末大作业
专业:
姓名:
学号:
分数
一、在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。
请写下完整代码,展示图形结果。
(请标注题图和坐标轴,用不同颜色和不同线型分别绘制以上曲线)。
(15分)
二、某公司员工的工资计算方法如下。
(1)工作时数超过120小时者,超过部分加发15%。
(2)工作时数低于60小时者,扣发700元。
(3)其余按每小时84元发。
根据员工的工时数,计算应发工资。
请写下完整的程序代码,并任意输入一工时数(使用input 函数),将结果展示(使用disp 函数)利用该代码进行计算工资,请写下计算结果。
(15分)
三、编写一个函数文件,使其能够产生如下的分段函数:
⎪⎩
⎪
⎨⎧≥<<≤-=66225.0,25.05.15.0)(x x x x x
x f
请编写完整的函数文件(保存函数文件名为hanshu.m ),并编写脚本文件代码,任意输入x 值(使用input 函数),在脚本文件中调用函数文件求)(x f ,展示结果(使用disp 函数),请写下计算结果。
(15分)
四、将5个学生的6门功课的成绩存入矩阵P 中,进行如下处理:
(1)分别求每门课的最高分、最低分及相应学生的序号。
(2)分别求每门课的平均分和标准差。
(3)5门课总分的最高分、最低分及相应学生序号。
(4)将5门课总分按从大到小顺序存入score 中,相应学生序号存入num 。
请将各小题的运行代码完整写下来,并写下运行结果。
(20分)
五、请利用所学的MATLAB 知识,自主设计一个图形用户界面,请完整记录它的设计过程,需提供文字、代码和图片,以充分说明设计的图形用户界面可实现
的功能。
(35分)。