




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab大作业陈大Ben_ I.在养殖业,最优捕鱼策略应用:最优捕鱼策略问题一问题为了保护人类赖以生存的自然环境,可再生资源如渔业、林业资源的开发必须适度。一种合理、简化的策略是,在实现可持续收获的前提下,追求最大产量或最正确效益。 考虑对某种鱼的最优捕捞策略: 假设这种鱼分4个年龄组,称1龄鱼,.,1龄鱼。各年龄组每条鱼的平均重量分别为5.07,11.55,17.86,22.99(克),各年龄组鱼的自然死亡率均0.8(1/年),这种鱼为季节性集中产卵繁殖,平均每条龄鱼的产卵量为1.109×1011´(个),龄鱼的产卵量为这个数的一半,龄鱼和龄鱼不产
2、卵。产卵和孵化期为每年的最后4个月,卵孵化并成活为1龄鱼,成活率龄鱼条数与产卵总量n之比为1.22×1011/(1.22×1011+n) 渔业管理部门规定,每年只允许在产卵孵化期前的8个月进行捕捞作业。如果每年投入的捕捞能力如渔船数、下网次数等固定不变,这时单位时间捕捞量将与各年龄组鱼群条数成正比,比例系数不妨称捕捞强度系数。通常使用13mm网眼的拉网,这种网只能捕捞龄鱼和龄鱼,其两个捕捞强度系数之比为0.42:1。渔业上称这种方式为固定努力量捕捞。 1)建立数学模型分析如何实现可持续捕获即每年开始捕捞时渔场中各年龄组鱼群条数不变,并且在此前提下得到最高
3、的年收获量捕捞总重量。 2)某渔业公司承包这种鱼的捕捞业务年,合同要求年后鱼群的生产能力不能受到太大破坏。承包时各年龄组鱼群的数量分别为:122,29.7,10.1,3.29(×109)´条 。如果仍用固定努力量的捕捞方式,该公司应采取怎样的策略才能使总收获量最高。 综上所述,原问题实质上是给出了各年龄组鱼群之间数量的变化规律,并给出了它们的自然死亡率及捕捞和产卵的时间分布,并固定3、4龄鱼捕捞能力的比值,要求选择一定的捕捞能力系数,使得各年龄组鱼的数量在各年开始的第一天条数不变第一问,5年后鱼群的生产能力不会有太大的破坏第二问,并在此条件下,
4、求到最大捕获量。二建模1. 这种鱼在一年内的任何时间都会发生自然死亡,即死亡是一个连续的过程; 2. 捕捞也是一个连续的过程,不是在某一时刻突然发生; 3. 鱼群的死亡率已考虑种群的相互竞争及环境等因素;4. 3、4龄鱼产卵集中在9月初期,到第二年初完成孵化; 5. 龄鱼到来年分别长一岁成i+1龄鱼,其中上一年存活下来的4龄鱼仍是4龄鱼。 三程序buyu.mfunction y = buyu(x)global a10 a20 a30 a40 total k;syms k a10;x1=dsolve(
5、9;Dx1=-0.8*x1','x1(0)=a10');t=1;a20=subs(x1);x2=dsolve('Dx2=-0.8*x2','x2(0)=a20');t=1;a30=subs(x2);x31=dsolve('Dx31=-(0.8+0.42*k)*x31','x31(0)=a30');t=2/3;a31=subs(x31);x32=dsolve('Dx32=-0.8*x32','x32(2/3)=a31');t=1;a40=subs(x32);x41=dsolve
6、('Dx41=-(0.8+k)*x41','x41(0)=a40');t=2/3;a41=subs(x41);x42=dsolve('Dx42=-0.8*x42','x42(2/3)=a41');t=2/3;a31=subs(x31);nn=1.109*105*(0.5*a31+a41);eq1=a10-nn*1.22*1011/(1.22*1011+nn);S=solve(eq1,a10);a10=S(2);syms t;t3=subs(subs(int(0.42*k*x31,t,0,2/3);t4=subs(subs(int(
7、k*x41,t,0,2/3);total=17.86*t3+22.99*t4;k=x;y=subs(-total);buyu1global a10 a20 a30 a40 total;k,mtotal = fminbnd('buyu',16,18);ezplot(total,0,25);xlabel('捕捞强度系数k');ylabel('总收获量克');title('捕捞强度-总收获量曲线图')format long;ktotal = -mtotala10=eval(a10)a20=eval(a20)a30=eval(a30)a4
8、0=eval(a40)format shortClear四结果>> buyu1k = 17.362932626768220total = 3.887075517793263e+11a10 = 1.195993727015595e+11a20 = 5.373946224506121e+10a30 = 2.414669690278989e+10a40 = 8.395506708075523e+07图1.捕捞强度与总收获量曲线图即k= 17.362932626768220时,最高年收获量total = 3.887075517793263e+11克,此时每年年初四种鱼的数量分别是a10 =
9、1.195993727015595e+11a20 =5.373946224506121e+10a30 =2.414669690278989e+10a40 =8.395506708075523e+07五总结最优捕鱼策略问题也是一大典型的数学建模与日常生活密切联系的一类问题,但这类问题处理中出现的微分方程的求解很复杂,且大多得不到一般解,利用数学建模建立数学模型,再加上matlab数学软件就能很好解决问题,得出数值解,最终到达共赢。II.Matlab在物理的应用旋转网球的轨迹模拟一问题考虑一个质量为m,直径为d的网球,在靠近地球外表的空中运动。此秋以角速度旋转向量有旋转轴的方向和大小其中是旋转的角
10、度。将笛卡尔坐标系xyz放在地球外表,其中z轴为垂直方向。二建模把网球看成一个质点,它在以下一些力的作用下运动,见以下图图2.网球受力分析拉力的大小和Magnus力的大小,通常假设由理想的流体理论给出其中是空气密度。对于实际的流体空气,系数CD和CM依赖于速度v,球的旋转和它的外表材料。通常由实验得到这些系数。是转球赤道的速度在速度向量上的投影。下面是系数的表达式:最后的形式是计算和绘制所有三个模型的轨迹,分别是真空中的球,空气中没有旋转的球和空气中旋转的球。在真空中,只有重力的作用在空气中三程序tennisip.mfunction xdot=tennisip(t,x,flag)global
11、gxdot= x(3) x(4) 0 -g;tennis0p.mfunction xdot=tennis0p(t,x)global g alphav = sqrt(x(3)2+x(4)2);xdot= x(3) x(4) -alpha*0.508*x(3)*v -g-alpha*0.508*x(4)*v ;tennis1p.mfunction xdot=tennis1p(t,x)global g alpha w etav = sqrt(x(3)2+x(4)2);Cd = (0.508+1/(22.503+4.196*(v/w)0.4)*alpha*v;Cm = eta*w/(2.022*w+0
12、.981*v)*alpha*v;xdot = x(3) x(4) -Cd*x(3)+Cm*x(4) -g-Cd*x(4)-Cm*x(3);xuanzhuanwangqiu.mglobal g alpha w etag=9.81;d=0.063;m=0.05;rho=1.29;alpha = pi*d2/(8*m)*rho;eta=1;w=20;h=1;v0=25;theta=pi/180*15;xin = 0,h,v0*cos(theta),v0*sin(theta); tmaxid = (xin(4) + sqrt(xin(4)2 + 2*g*xin(2)/g; tid,xid=ode23(
13、'tennisip',0 tmaxid,xin); t0,x0 = ode23('tennis0p',0 tmaxid,xin); t1,x1 = ode23('tennis1p',0 tmaxid,xin); N=max(xid(:,1);x = 0:N/100:N;axis(0,max(xid(:,1),0,max(xid(:,2)hold on;plot(x,spline(xid(:,1),xid(:,2),x),':r');plot(x,spline(x0(:,1),x0(:,2),x),'-b');plo
14、t(x,spline(x1(:,1),x1(:,2),x),'-');hold off;四结果图3.三个模型下的网球轨迹图图4.计算过程参数结果5 分析及总结结果与猜测一致,真空的球距离最远、在空气中没有旋转的网球次之、在空气中旋转的网球距离最近。III.Matlab在图像处理的应用等切面曲线和相似曲线的应用一问题为了每天锻炼,一个慢跑者在平面沿着他喜欢的路径跑步,突然一只狗攻击他,这只狗以恒定速率跑向慢跑者,计算狗的轨迹。二建模狗的轨迹具有如下性质:在任意时刻,狗的速度向量都指向它的目标慢跑者。假设慢跑者在某路径上跑步,他的运动由两个函数X(t)和Y(t)描述。假设当t=0时
15、,狗是在点(x0,y0)处,在时刻t时,它的位置是(x(t),y(t),以下方程成立:x2+y2=2;狗以恒定速率跑。狗的速度向量平行于慢跑者与狗的位置的差向量:得狗的轨迹的微分方程:三程序及结果静态显示dog函数dog.mfunction zs,isterminal,direction = dog(t,z,flag)global w;% w=speed of the dogX=jogger(t);h = X-z;nh=norm(h);if nargin<3 | isempty(flag) zs=(w/nh)*h;else switch(flag) case 'events
16、9; zs = nh-1e-3; isterminal = 1; direction = 0; otherwise error('Unknow flag:' flag); endend慢跑者1的运动轨迹方程,水平向右jogger.mfunction s = jogger(t);s = 8*t;0;标记的函数cross.mfunction cross(Cx,Cy,v)Kx = Cx Cx Cx Cx-v Cx+v;Ky = Cy Cy+2.5*v Cy+1.5*v Cy+1.5*v Cy+1.5*vplot(Kx,Ky);plot(Cx,Cy,'o');综合:ma
17、in1.mglobal wy0 = 60;70;w=10;options = odeset('RelTol',1e-5,'Events','on');t,Y = ode23('dog',0,20,y0,options);clf;hold on;axis(-10,100,-10,70);plot(Y(:,1),Y(:,2);J=; for h=1:length(t), w = jogger(t(h); J=J;w'endplot(J(:,1),J(:,2),':');p = max(size(Y);cross
18、(Y(p,1),Y(p,2),2)hold off;结果图5.狗追慢跑者1的轨迹图静态在这里,狗的速率为w=10,而慢跑者X(t)=8t,慢跑者较慢,狗抓住慢跑者。如上图。动态显示上面的只是他们的静态轨迹,所以想效果更好,就同时动态显示慢跑者和狗的轨迹。下面为动态显示的程序:main2.mglobal w;y0=60;70;w=10;options = odeset('RelTol',1e-5,'Events','on');t,Y=ode23('dog',0,20,y0,options);J=;for h=1:length(t);
19、 w= jogger(t(h); J=J;w'end xmin = min(min(Y(:,1),min(J(:,1);xmax = max(max(Y(:,1),max(J(:,1);ymin = min(min(Y(:,2),min(J(:,2);ymax = max(max(Y(:,2),max(J(:,2);clf;hold on;axis(xmin-10 xmax ymin-10 ymax);title('The jogger and the Dog'); for h = 1:length(t)-1, plot(Y(h,1),Y(h+1,1),Y(h,2),Y
20、(h+1,2),'-','Color','red','EraseMode','none'); plot(J(h,1),J(h+1,1),J(h,2),J(h+1,2),'-','Color','green','EraseMode','none'); drawnow; pause(0.1);end plot(J(:,1),J(:,2),':');p = max(size(Y);cross(Y(p,1),Y(p,2),2)h
21、old off;结果图6.狗追慢跑者1的轨迹动态组图其中t=12.2761812635281即是在12.27秒后狗抓到慢跑者。稍微改变慢跑者的轨迹,记为慢跑者2:jogger2.mfunction s = jogger2(t);s = 10+20*cos(t) 20+15*sin(t);这是一个椭圆轨迹,即是慢跑者绕圈。狗的微分方程也要稍稍改动dog.mfunction zs,isterminal,direction = dog(t,z,flag)global w;% w=speed of the dogX=jogger2(t);%这里改动h = X-z;nh=norm(h);if nargi
22、n<3 | isempty(flag) zs=(w/nh)*h;else switch(flag) case 'events' zs = nh-1e-3; isterminal = 1; direction = 0; otherwise error('Unknow flag:' flag); endendmain2.m的也需稍微改动for h=1:length(t); w= jogger(t(h); J=J;w'end改为for h=1:length(t); w= jogger2(t(h); J=J;w'end假设狗的速度很快w=25,它会
23、很快赶上慢跑者图7.跑得快的狗w=25追慢跑者2的轨迹动态组图这里t=4.01776368842910,即是经过4秒左右狗就追到慢跑者而假设狗的速度比拟慢,比慢跑者慢w=10,它会在慢跑者的后面跑,能看到一个稳定的状态,狗在椭圆内一个闭轨迹上跑。把main2.m中w=25;改为w=10;图8.跑得慢的狗w=10追慢跑者2的轨迹动态组图.心得这次的大作业,我应用matlab分别处理生物、物理、图像处理这几方向的某些问题。在完成的过程中,有如下的体验:1.根本命令、数据类型、根本的程序结构条件语句,循环语句,嵌套等是必须要很熟悉,因为任何一个程序都需要这几个根本的块。2.需要找一本matlab的函数工具词典,就像汉语词典一样,要尽量多的熟悉matlab自带的函数,及其作用,因为matlab的自带函数特别多,根本上能够满足一般的数据和矩阵的计算,所以根本上不用自己编函数如vb中,大局部的函数都需要自己编。这一点对理解程序、编写程序非常有帮助,可以使程序简单,运行效率高,可以节省很多时间。3.在使用matlab解决问题过程中,经常遇到百度上没有的问题。这时候,可以上专业的论坛求助,或者使用matlab本身的Help帮助文档。Help帮助文档是最权威、最值得研究的资料,唯一的缺憾就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高性能储能用连接器检测规范-征求意见稿
- 人教陕西 九年级 下册 语文 第六单元《 诗词曲五首》习题课 课件
- 新人教版高中语文必修2瓦尔登湖 同步练习 基础题
- 沪教版高中语文第四册谏太宗十思疏 同步练习下列加粗词语的注音不正确
- 高中语文第四册哈姆莱特(1)语文版 教学要求
- 高中语文必修3奇妙的超低温世界 同步练习积累运用
- 冷库设备采购合同范例
- 企业员工股权合同范例
- 健身房股权投资合同范例
- pos机租赁合同范例
- 幼儿园大班数学《认识门牌号》课件
- 公司安全生产“一会三卡”管理规定
- 山地回忆-完整版获奖课件
- 部编版四年级下册道德与法治 第3课 当冲突发生(校园里的冲突) 教学课件
- 国家体育馆QC成果之提高钢结构现场焊缝的一次合格率
- 国际商务(International Business)英文全套完整课件
- 高速铁路隧道空气动力学关键技术
- 义务教育(英语)新课程标准(2022年修订版)
- 施工组织及服务方案
- 员工廉洁协议
- 螺旋钻孔桩试桩施工方案
评论
0/150
提交评论