计算物理——基于matlab方法研究水中倒影问题

基于Matlab方法研究水中倒影问题[摘要]本文介绍了用matlab研究倒影问题的方法,利用matlab可视化的优点可以直观的得出结果。[关键词]matlab;倒影;高度;图像TheResearchofTheProblemaboutWaterReflectionBaseOnMatlab[Abstract]Thepaperresearchaboutwaterreflectionbaseonmatlab[Keywords]matlab;waterreflection;height;figure[基于matlab方法研究水中倒影问题]1.绪论当今社会,随着计算机技术的飞速发展,计算机在学生的日常学习和生活中扮演着越来越来重要的角色,MATLAB科学计算语言因其高效、可视化、有推理能力等优点,在大学教育和科学研究中的应用也日益广泛【1】。使用MATLAB语言可以锻炼学生的思维能力和创新能力,并通过直观的物理图象加深对物理模型的理解。本文以MATLAB语言为基础,来解决物理问题。2[基于matlab方法研究水中倒影问题]2水中倒影的研究在日常生活中可以发现,站在岸边看水中的倒影,对于同样高的灯柱,人、灯间距越大,灯光倒影越长;若人灯间距不变,灯柱越高,灯光倒影越长;人站得越高,所看到的同一个灯柱灯光的倒影越短;波浪越大,灯光倒影拉的越长【2】……这些日常生活中的物理现象到底要如何解释,下面来建立一个物理模型。2.1方程的建立先对物理模型做简化处理,产生波浪的原因很多,这里只考虑由风力所形成的微幅波波长短、波高小,波浪表面与水平面最大夹角Φ较小,波形曲线两边对称。波浪是两向推进波,沿观察者与物体之间传播。并把波浪表面看作是与水平面成不同夹角的小平面镜【2】。建立一个直角坐标系,设人、物间距为s,物点高度a,观察者高度b,波浪表面与水平面间的夹角为θ,水中虚像的坐标为(x,y),如图2-1所式,X轴表示水面,A(0,a)为物点,B(s,b)为观察者,发射点C(d,0)3θθθYA(0,a)C(d,0)B(s,b)XP(x,y)图2-11水中倒影示意图[基于matlab方法研究水中倒影问题]处波浪表面与X轴夹角为θ,有反射定律可以求出,A点在水中的虚像P的坐标为x=2(dtanθ+a)cosθsinθ(2.11)y=-2(dtanθ+a)cos2θ+a(2.12)又因为线段PC和BC在一条直线上,应满足式(2.13)可化简为将(2.14)式代入(2.11)式得将(2.14)式代入(2.12)式得由(2.15)(2.16)两式得式中根据方程(2.15)和(2.17)或(2.16)和(2.17),给定a,b,s,θ,就能计算出虚像点位置P(x,y)并画出图像。当给定a,b,s,θ=-Φ时,求出倒影的一个端点坐标,θ=Φ时求出倒影另一个端点坐标,则能得到倒影的长度为要计算出方程的解须借助MATLAB软件,以下介绍如何求解上述方程4(2.13)(2.14)(2.15)(2.16)(2.17)[基于matlab方法研究水中倒影问题]2.2MATLAB实现利用MATLAB编制函数程序dyz.m,程序如下所示【2】function[x,y,L]=dyz(theta,a,b,s)i=1;foro=-theta*pi/180:theta*pi/7200:theta*pi/180c1=2*b*cos(o)*cos(o)-s*sin(2*o)-a*cos(2*o);c2=(b*b-a*b)*cos(2*o)-0.5*b*s*sin(4*o)-2*s*b*sin(2*o)*sin(o)^2-a*b;c3=a*b*b;p=[1,-c1,c2,c3];y0=roots(p);forj=1:1:3ifimag(y0(j))==0&real(y0(j))<0y(i)=y0(j);q=y0(j);endendx(i)=(a*b*sin(2*o)-(2*s*sin(o)^2+a*sin(2*o))*q)./(b*cos(2*o)-q);i=i+1;endL=sqrt((x(81)-x(1))^2+(y(81)-y(1))^2);设物点高a=5m,观察者高b=1.8m,人物间距s=100m,波浪表面与水平面最大夹角Φ=10。,在命令窗口调用dyz.m,如下所示>>[x,y]=dyz(10,5,1.8,100);>>plot(x,y,'o-r')得到的结果如图所示:图中每一个虚像点o对应一个θ值,o点的中心连线就是物点A的虚像。5[基于matlab方法研究水中倒影问题]2.3结果分析从上图可以看出物点的虚像点在根部比较密集,在顶部比较稀疏,所以日常生活中看到的倒影的根部是明亮连续的,顶部就可能是稀疏暗淡的。一个物点在波浪中的虚像有多个,所以一个物体在波浪中的倒影就模糊不清了。2.3.1物点高度a对结果的影响还可比较物点高度a取不同值时的情况,如下所示:>>i=1;>>fora1=0.5:0.1:20a(i)=a1;6图2-21倒影图像图2-21倒影图像[基于matlab方法研究水中倒影问题][x1,y1,L1]=dyz(10,a1,1.8,100);L(i)=L1;i=i+1;end>>plot(a,L)>>xlabel('a','fontweight','bold');>>ylabel('L','fontweight','bold');>>t...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?