基于spi-flash的fatfs配置(完整资料)_第1页
基于spi-flash的fatfs配置(完整资料)_第2页
基于spi-flash的fatfs配置(完整资料)_第3页
基于spi-flash的fatfs配置(完整资料)_第4页
基于spi-flash的fatfs配置(完整资料)_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于spi-flash的fatfs配置(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)

基于spi-flash的fatfs配置基于spi-flash的fatfs配置(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)——王京石硬件平台:stm32f103VCT6、w25x16软件平台:fatfsR0。10ﻩ由于产品需要存储大量数据,stm32单片机存储有限需要使用外部flash辅助存储。考虑各方面原因最后选用了一款spi-flash型号为w25x16,spi总线操作,拥有2M的存储单元。为了方便,我们想到了使用文件系统fatfs.此文档记录了配置流程,为以后做参考.底层移植Fatfs的diskio.c与diskio。h文件用于兼容底层接口,主要配置过程就是重写disk_initialize、disk_status、disk_read、disk_write、disk_ioctl、get_fattime六个函数以兼容不同的硬件设备。1、设备初始化DSTATUSdisk_initialize(BYTEpdrv)ﻩ用于初始化硬件设备,在本次项目中主要就是初始化SPI总线接口,这个底层函数在执行应用层的open、write、read等函数是都会被执行.本项目没有对flash进行分区操作,因此设备号应该为0。DSTATUSdisk_initialize( BYTEpdrv ﻩ/*Physicaldrivenmuber(0..)*/){ﻩif(pdrv==0)//设备号为0则进行初始化操作 {ﻩﻩSPI_Flash_Init();ﻩﻩreturn0;//返回0表示成功ﻩ} else { returnSTA_NODISK; }}2、读取设备状态DSTATUSdisk_status(BYTEpdrv);ﻩ用于读取设备状态,判断设备是否处于空闲状态,由于本项目使用的存储单元为spi—flash所以始终是可以操作的状态,因此始终返回OK就可以。DSTATUSdisk_status(ﻩBYTEpdrv ﻩ/*Physicaldrivenmuber(0。。)*/){if(pdrv==0)return0; elsereturnSTA_NODISK;}3、读扇区操作DRESULTdisk_read( BYTEpdrv,ﻩﻩ/*物理设备号*/ BYTE*buff, ﻩ/*读取数据缓冲*/ DWORDsector, /*扇区号*/ﻩUINTcount ﻩ/*读取的扇区个数(1-128)*/) 使用读操作在指定扇区里读取出数据。DRESULTdisk_read(ﻩBYTEpdrv,ﻩ /*Physicaldrivenmuber(0..)*/ﻩBYTE*buff, ﻩ/*Databuffertostorereaddata*/ DWORDsector,ﻩ/*Sectoraddress(LBA)*/ﻩUINTcountﻩ /*Numberofsectorstoread(1..128)*/){ if(pdrv!=0)returnRES_WRPRT;ﻩSPI_Flash_Read(buff,((uint32_t)sector)<<12,((uint32_t)count)<〈12);ﻩreturnRES_OK;}4、写扇区操作DRESULTdisk_write(BYTEpdrv,constBYTE*buff,DWORDsector,UINTcount); 使用写操作在指定扇区里写入相应数据,再写入之前必须要擦除扇区。由于w25x16最小的擦除块为4096字节,因此将fatfs的扇区定义为4096,而w25x16一次性写入256字节数据,因此每个扇区需要写入八次数据.DRESULTdisk_write(ﻩBYTEpdrv,ﻩﻩ /*Physicaldrivenmuber(0。.)*/ﻩconstBYTE*buff, /*Datatobewritten*/ﻩDWORDsector, ﻩ/*Sectoraddress(LBA)*/ UINTcountﻩ /*Numberofsectorstowrite(1。。128)*/){ﻩBYTE*buf=(uint8_t*)buff;ﻩuint32_tsecAddr=((uint32_t)sector)〈<12;ﻩuint8_ti; if(pdrv!=0)returnRES_WRPRT;ﻩfor(i=0;i〈count;i++) {ﻩ SPI_Flash_Erase_Sector(sector); sector++; ﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256; ﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩ SPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩ SPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩ SPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256; SPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256; SPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256; ﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256; ﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256; ﻩSPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩ SPI_Flash_Write_Page((uint8_t*)buf,secAddr,256);buf+=256;secAddr+=256;ﻩ} returnRES_OK;}5、磁盘控制函数DRESULTdisk_ioctl(BYTEpdrv,BYTEcmd,void*buff); 主要用于应用层程序同步磁盘、获取扇区大小、获取磁盘总扇区数、磁盘擦除块大小与擦除操作等功能。注意通过数组buff带入或是带出的参数必须要格式匹配。#if_USE_IOCTLDRESULTdisk_ioctl(ﻩBYTEpdrv, /*Physicaldrivenmuber(0.。)*/ﻩBYTEcmd,ﻩ /*Controlcode*/ void*buff /*Buffertosend/receivecontroldata*/){ﻩif(pdrv!=0)returnRES_WRPRT; switch(cmd) { caseCTRL_SYNC://spi-flash不需要同步,这一项始终返回0 ﻩreturnRES_OK;ﻩcaseGET_SECTOR_SIZE: *((WORD*)buff)=4096;//始终通过buff返回扇区大小就可以了 ﻩreturnRES_OK; caseGET_SECTOR_COUNT:ﻩ *((DWORD*)buff)=512;//始终通过buff返回总扇区数就可以了 returnRES_OK;caseGET_BLOCK_SIZE://禁止擦除功能,这两项无意义ﻩ returnRES_OK; caseCTRL_ERASE_SECTOR: returnRES_OK;ﻩ}6.获取时间DWORDget_fattime(void) 在写操作时需要调用的函数,如果需要真实的时间信息则使用RTC始终读出时间信息通过这个函数返回,本项目中不需要时间因此始终返回0就可以了./*RTCfunction*/#if!_FS_READONLYDWORDget_fattime(void){ return0;}#endiffatfs配置在移植完底层之后还需要根据需求配置fatfs,修改各种配置宏是主要的配置手段.1、配置数据类型首先我们应该配置的是数据类型,因为fatfs需要运行在各种硬件平台上,而不同位数的机器数据类型的结构也不一样,因此需要统一数据类型,这一配置在integer中完成.typedefunsignedchar BYTE;//BYTE配置为8位无符号类型typedefshortﻩﻩﻩSHORT;//16位有符号类型typedefunsignedshort WORD;//16位无符号类型typedefunsignedshortﻩWCHAR;//16位无符号类型/*ThesetypesMUSTbe16bitor32bit*/typedefint INT;//32位有符号类型typedefunsignedint UINT;//32位无符号类型/*ThesetypesMUSTbe32bit*/typedeflong ﻩLONG;//32位有符号类型typedefunsignedlongﻩDWORD;//32位无符号类型2、配置宏定义Fatfs的配置宏主要在文件ffconf。h中.接下来让我们一个一个分析这些宏.#define _FS_TINYﻩ 10正常模式1小型模式小型模式,主要用于内存资源不丰富的微控制器,在这里我们选1配置为小型模式#define_FS_READONLYﻩ0ﻩ可读可写只读配置文件系统位只读文件系统,这里选0#define_FS_MINIMIZEﻩ3 /*0to3*/使能所有功能函数f_stat(),f_getfree(),f_unlink(),f_mkdir(),f_chmod(),f_utime(),f_truncate()andf_rename()函数被禁止除了1之外f_opendir(),f_readdir()andf_closedir()也被禁止除了2之外f_lseek()也被禁止用于剪裁文件系统,删除不需要的功能,这里选3#define _USE_STRFUNC 0ﻩ/*0:Disableor1-2:Enable*/禁止字符串功能使能字符串功能若使能字符串功能,则可以使用f_gets,f_putc,f_puts,f_printf等函数,这里选禁止#define _USE_MKFSﻩ 1 /*0:Disableor1:Enable*/禁止格式化使能格式化若选1则可以使用函数f_mkfs函数格式化磁盘,这里选1#defineﻩ_USE_FASTSEEKﻩ0ﻩ/*0:Disableor1:Enable*/禁止快速查找功能使能快速查找功能使能或禁止快速查找功能,这里选禁止#define_USE_LABEL 0ﻩ/*0:Disableor1:Enable*/禁止卷标功能使能卷标功能使能或禁止卷标功能,这里选禁止#define _USE_FORWARDﻩ0 /*0:Disableor1:Enable*/禁止f_forward()函数使能f_forward()函数使能或禁止f_forward()函数,f_forworad()函数用于将文件信息发送到一个数据流设备上去,这里禁止./*-—----———-——---—--———-————--——--—--—---—--------——----—-———-—-—--—---//语言环境配置/—--———-—---—---—----——----————-—-----——-—--—-—-—-—----—--------—--—-—*/#define_CODE_PAGEﻩ932配置语言编码,这里保持默认#define _USE_LFNﻩ0ﻩ /*0to3*/#define _MAX_LFNﻩ255ﻩ /*MaximumLFNlengthtohandle(12to255)*//*_USE_LFN用于使能长文件名功能,//0:禁止长文件名功能。_MAX_LFN没有意义;/1:使能长文件名功能,文件名存储在BSS段中,不可重入;/2:使能长文件名功能,文件名存储在栈中;/3:使能长文件名功能,文件名存储在堆中;/#defineﻩ_LFN_UNICODEﻩ0ﻩ/*0:ANSI/OEMor1:Unicode*/ANSI/OEM编码Unicode编码(支持中文)用于切换文件名编码,这里选0#define_STRF_ENCODE 3 /*0:ANSI/OEM,1:UTF-16LE,2:UTF—16BE,3:UTF-8*/这个选项用于选择文件字符操作时的编码,禁止unicode时此选项无效#define_FS_RPATHﻩ 0ﻩ/*0to2*/禁用相对路径功能,并卸载这个功能使能相对路径功能禁止或使能相对路径功能,这里禁止/*———---—-—--—-——-—-——--——-———-—-————-———-------—--—-—---—---—--—-—-—--—-//设备配置/----———----—-———--———--—--—--—-—------—-------——--————-——-—--——*/#define_VOLUMES 1用于定义磁盘中卷的数量#define _MULTI_PARTITIONﻩ0 /*0:Singlepartition,1:Enablemultiplepartition*/单分区模式多分区模式若使能多分区模式则可以使用f_fdisk函数对设备进行分区,这里禁止#defineﻩ_MAX_SS 4096ﻩﻩ/*512,1024,2048or4096*/定义扇区大小,可选的值位512102420484096#defineﻩ_USE_ERASE 0 /*0:Disableor1:Enable*/禁止扇区擦出功能使能扇区擦除功能禁止或使能扇区擦除功能,这里选禁止#define_FS_NOFSINFO 0 /*0or1*/若选1则可以使用f_getfree()获取卷中剩余的空间大小,这里不适用/*—---------—--——--——---———-—-—--——-——-——---—---—-——--—-—-—-—-—--——----—---——//系统配置/-—--—-----——-----—--—-----—---——--—--———--——---—--—-——-———--—--—--—-—----——-*/#define_WORD_ACCESS 0ﻩ/*0or1*/如果硬件平台为小端模式则选择1华北电力大学实验报告实验名称基于SNMP的网络管理软件的配置与使用课程名称网络管理专业班级:学生姓名:学号:成绩:指导教师:实验日期:(一)基于SNMP的网络管理软件的配置与使用一、实验目的1.熟悉路由器和交换机并掌握路由器和交换机的基本配置方法和配置命令。2。练习构建一个由四个路由器和四台主机构成的网络.3.操作SiteViewNNM管理系统,掌握如何添加网元,构建管理系统,并每一个可被管理的设备进行操作。4.掌握网络管理软件的使用方法,实现对网络的拓扑发现实时监控,告警设置:1).应用Siteview软件进行拓扑发现。通过自动和手动两种方式实现。2)。基于SNMP的实时监控.对设备,链路,端口等进行相应的监控.3).进行告警设置(告警方式)。通过对不同设备,条件等进行告警设置。二、实验环境计算机4台、路由器4台、交换机4台、SiteViewNNM网络管理软件系统.三、实验原理网络设备只有配置了SNMP协议以后,才能够通过SNMP进行监控和管理,因此,使用网络管理软件之前,需要对所有设备进行配置。主要包括:1)主机SNMP配置;2)路由器SNMP配置;3)交换机SNMP配置.四、实验步骤:1、局域网的实现与配置:网络拓扑图:路由配置:1)IP分配:四台PC的本地连接2的IP分别为:PC1:222.1.3.5PC2:222.1.2.5PC3:222.1。1。5PC4:222。1.4.5本地连接1IP:PC51:192.168。1.21PC52:192.168.1。22PC53:192。168.1.23PC54:192.168.1.242)地址分配:路由器R1S2端地址:222.1。6。1路由器R1S3端地址:222.1.7.1路由器R1与路由器R2间的地址:222.1.6.0路由器R1与两层交换机1间接口G1地址:222.1.3.1路由器R2S2端地址:222。1.6。2路由器R2S3端地址:222.1.5.1路由器R2与路由器R3间的地址:222。1。5.0路由器R2与两层交换机2间的地址:222。1。2.1路由器R3S3端地址:222。1。8.1路由器R3与路由器R4间的地址:222.1.8.0路由器R4S2端地址:222。1.8。2路由器R4S3端地址:222.1.7.2路由器R4与路由器R1间的地址:222.1。7.0路由器R4与交换机间的地址:222。1.4.1PC1地址:222.1.3.5网关:222.1.3。2PC2地址:222。1。2。5网关:222.1.2。2PC3地址:222。1.1。5网关:222.1.1。2PC4地址:222。1.4.5网关:222.1.4。23)路由器的配置路由器R1的配置(代码):R1(config)#interfaceS2/0R1(config-if)#ipaddress222.1.6.1255.255。255。0R1(config-if)#exitR1(config)#interfaceS3/0R1(config—if)#ipaddress222.1.7。1255。255.255。0R1(config—if)#exitR1(config)#interfacegi0/1R1(config-if)#ipaddress222。1。3。1255.255。255。0R1(config-if)#exitR1(config)#routerripR1(config-router)#network222。1。6.0R1(config-router)#network222。1.7。0R1(config—router)#network222.1.3。0R1(config—router)#end路由器R2的配置(代码):R2(config)#interfaceS2/0R2(config-if)#ipaddress222。1。6。2255。255.255。0R2(config-if)#exitR2(config)#interfaceS3/0R2(config-if)#ipaddress222。1.5.1255.255.255.0R2(config—if)#exitR2(config)#interfacegi0/1R2(config-if)#ipaddress222.1。2.1255.255.255。0R2(config-if)#exitR2(config)#routerripR2(config—router)#network222.1。6。0R2(config—router)#network222.1.5.0R2(config-router)#network222.1.2.0R2(config—router)#end路由器R3的配置(代码):R3(config)#interfaceS2/0R3(config-if)#ipaddress222。1.5。2255.255.255.0R3(config-if)#exitR3(config)#interfaceS3/0R3(config-if)#ipaddress222.1.8.1255。255.255。0R3(config—if)#exitR3(config)#interfacegi0/1R3(config—if)#ipaddress222。1。1。1255.255.255。0R3(config—if)#exitR3(config)#routerripR3(config-router)#network222.1.5。0R3(config-router)#network222.1.8。0R3(config—router)#network222.1。1。0R3(config—router)#end路由器R4的配置(代码):R4(config)#interfaceS2/0R4(config—if)#ipaddress222。1.8。2255。255。255。0R4(config—if)#exitR4(config)#interfaceS3/0R4(config-if)#ipaddress222。1。7。2255.255.255.0R4(config—if)#exitR4(config)#interfacegi0/1R4(config—if)#ipaddress222.1.4。1255。255.255.0R4(config—if)#exitR4(config)#routerripR4(config-router)#network222。1.8.0R4(config-router)#network222.1。7。0R4(config-router)#network222.1.4。0R4(config-router)#end交换机配置:R1交换机的配置(代码):Ruijie<config〉#interfacevlan1Ruijie〈config—if-VLAN1>#ipaddress222.1.3。2255。255。255。0Ruijie<config-if—VLAN1〉#exitR2交换机的配置(代码):Ruijie<config>#interfacevlan1Ruijie〈config-if—VLAN1>#ipaddress222.1。2.2255.255。255.0Ruijie<config—if-VLAN1>#exitR3交换机的配置(代码):Ruijie〈config〉#interfacevlan1Ruijie<config-if-VLAN1>#ipaddress222.1.1.2255.255.255.0Ruijie〈config—if-VLAN1>#exitR4交换机的配置(代码):Ruijie<config〉#interfacevlan1Ruijie<config-if—VLAN1〉#ipaddress222。1。4。2255.255.255.0Ruijie〈config-if-VLAN1>#exit在网络配置好之后,通过ping命令来查看网络是否连通,测试网络的连通性。测试结果:由图可知:本机到其他机子的网络已全部连通,局域网构建完成.2、主机SNMP配置设置管理者(Manager)和代理者(Agent)的动态分布式处SNMP服务控制面板—管理工具-服务,实时性好。它所具有的图形化界面,各种生动形象而又简单的图形操作。(如图所示)控制面板—管理工具路由器交换机SNMP配置Router〉enableRouter#configureterminalRouter(config)#snmp—servercommunitypublicroRouter(config)#snmp—servercommunityprivaterwRouter(config)#snmp-serverenabletrapRouter(config)#snmp-serverhost222.1。3。5rw4、SiteViewNNM的安装与使用:(1)拓扑图管理,扫描网络。(2)IP资源管理,端口连接设备,IP网段分配统计。(3)设备管理,添加连线,全网设备统计。(4)监测报表,端口分析,多端口对比分析,(5)告警设置。扫描网络:设置扫描参数,搜索深度为2,并行线程数为100,重试次数为1,超时时间为200毫秒。设置扫描范围,添加允许的地址范围为222.1.0。0~222.1.9.0。结果如下图所示:设备端口状态实时分析:端口分析:多端口对比分析:端口月报表:告警设置:五、实验总结:本次实验比较复杂,先要设计好网络拓扑图,配置好路由交换机器,然后编写代码分配地址,构成局域网,在网络连通的情况下配置SNMP。整个过程耗时较长,在实验过程中也遇到了一些困难,但在同学与老师的帮助下,最终实现了网络的合理分配。通过本次实验,让我对网管软件有了一个新的认识,能让在课堂上学到的东西在实际生活中体现出来,使课本知识得到了实际化,同时在实验过程中也学到了许多课本上没有的东西,使我感触颇深。

本科毕业论文(设计)题目基于matlab的单缝衍射和双缝干涉可视化模拟学生姓名学号系别物理学与电子信息工程系年级08级专业物理学指导教师职称完成日期闽江学院毕业论文(设计)诚信声明书本人郑重声明:兹提交的毕业论文(设计)《基于matlab的单缝衍射和双缝干涉可视化模拟》,是本人在指导老师许鸿鹤,李玉良的指导下独立研究、撰写的成果;论文(设计)未剽窃、抄袭他人的学术观点、思想和成果,未篡改研究数据,论文(设计)中所引用的文字、研究成果均已在论文(设计)中以明确的方式标明;在毕业论文(设计)工作过程中,本人恪守学术规范,遵守学校有关规定,依法享有和承担由此论文(设计)产生的权利和责任。声明人(签名):2012年05月10日基于matlab的单缝衍射和双缝干涉可视化模拟摘要:使用matlab处理复杂数学方程并模拟物理图像的方法极大的丰富了物理的教学手段和学习方式,其中夫琅禾费单缝衍射和双缝干涉就属于物理光学中较为抽象的规律,本文通过对这两种实验在不同条件下的光强曲线和条纹分布的变化情况进行matlab仿真,并生成一系列的模拟图像。借此帮助学习者能够较好的理解夫琅禾费单缝衍射和双缝干涉,也有利于对实验的指导。关键词:matlab;物理图像;夫琅禾费单缝和双缝干涉Abstract:theuseofmatlabtodealwithcomplexmathematicalequationandsimulationmethodofphysicalimagesgreatlyenrichedthephysicsteachingmethodandwaytolearn.Fraunhofer'ssingle-slitdiffractionandthedouble-slitinterferencewillbelongtophysicalopticsratherabstractrules,thisarticleaccordingtothetwoexperiments'changesofthelight’sstrengthandstripesunderdifferentconditionsusedthematlabsimulationtoproduceaseriesofimages.IhopeitcannotonlytohelpstudentstobetterunderstandtheFraunhofer'ssingleslitdiffractionandthedouble—slitinterference,butalsototheguidanceoftheexperiment.Keyword:matlab;physicalimages;Fraunhofer’ssingle-slitandthedouble—slitinterferenceexperiment目录1引言。。。。..。。..。.....。。。。.。。.....。..。。。。。...。.。.........。。。。.。。...。。。。...。。22夫琅禾费单缝衍射。...。.。..。..。...。...。。。.。。。....。....。.。.。.。...。.。。。。。.。.。42.1实验分析...。.。.。。...。。。。.。。..。.。...。..。.。。....。。。。.。....。...。...。。。。..。.。42.1。1夫琅禾费单缝衍射条纹与光强分布...。....。。...。.。。。。。...。....。。。...。..。42。1。2不同缝宽与入射光对结果的影响。...。....。。..。.。。...。.。.。。。.......。.。。..。.72.2实验模拟..。....。。。.。...。.。.....。...。。.。...。。。....。。。.。...。。..。.。..。..。。...。.。.。。102。2。1夫琅禾费单缝衍射条纹与光强图样.。.。.。。。..。..。.....。。.。.....。.。。...。.102.2.2不同缝宽下的条纹与光强图样...。..。...。.。.。...。..。。...。...。....。....。..132.2。3不同入射光下的条纹与光强图样。.......。。.。。.。..。。。.。。。。.。.。。。。...143杨氏双缝干涉..。...。。.。。.。。..。..。.。。..。.。.。.。..。...。....。。。。。..。。....。。.....153.1实验分析.。。...。。。..。..。。.。.。。..。.。。.。。.。。。..。.。。。。。。。.....。。。..。。...。..。。153.1.1双缝干涉条纹与光强分布..。.。.。.。..。。....。..。...。.。。。。。.。。153.1.2不同缝间距下对结果的影响.。...。.....。..。..。。..。。。。。..。。.。。.193.1.3单缝衍射调制下的干涉条纹与光强分布。.。.。。....。.。..。..。。。。...。。203。2实验模拟.。。..。..。......。...。.。。.。....。..。.....。。。。..。..。.。.。。.。.。。..。。..。.。。.。。..223.2。1双缝干涉条纹与光强图样..。.。...。...。..。........。。.。...。。。。。。。.....。。....223.2。2不同缝间距下条纹与光强图样。.。。.。.。...。。.。.。。。。.....。。。.。。..。...233。2.3单缝衍射调制下的干涉条纹图样.。。。.....。.。。。.。.........。。。.。。。.。.。.254结论。。.。。。..。。..。..。..。...。.。.........。.。..。。.。。.。..。.。.。。...。。...。。。。。。。。.。。30参考文献.。。。。.。。..。.。.。。。..。..。.......。。.....。.。。.。...。.。。.。。...。....。。..。。。。31致谢....。。...。。.。。。。...。....。..。..。。......。.。.。。.。.。...。.。.。.。...。..。.。.。...。.。.321引言由于matlab具有极其丰富的特点和作用,因此被广泛的应用于国内外高校进行辅助教学和科学研究.在物理学中的应用也很广泛,例如在量子力学中的研究【1—2】,经典力学中的研究【3—4】,以及在物理实验中也应用广泛【5—15】。而在中国知网中能查阅到matlab在物理教学中的应用有40多篇,因此,对于师范类的教师学习matlab,尤其是从事物理教学的教师而言学习matlab不仅可以改进教学手段,增强教学效果,还能提供形象化的材料激发学生的学习兴趣,并能强化学生对授课内容的理解【5】【8】【15】。而现在问题的关键是怎样将它应用范围拓宽,尤其对于在中学阶段matlab的应用鲜有,又由于教学任务和时间的矛盾以及经费的问题,导致中学阶段的实验又偏少,因此学生对物理的感性认识严重不足,使学生普遍感到物理学习的困难,而在中学一般都配有多媒体的设施,这就使matlab的应用成为可能.所以,利用matlab进行辅助中学物理的教学是一条既经济有实用的方法,既能提高和丰富教师的教学水平又可以促进学生的学习,从而获得可观的教学效果。通过阅读《】《物理图像的可视化研究》【8】,《物理模型可视化与物理教学》【15】等利用matlab进行物理教学的论文和期刊,以及参考《光学实验的计算机模拟》【10】和《matlab应用数学工具箱级数手册》【17】模拟了光的双缝干涉实验和牛顿环条纹分布模拟图样。由于夫琅禾费单缝衍射和杨氏双缝干涉包含着光的衍与干涉现象诸多重要特征,于是本文通过matlab对夫琅禾费单缝衍射与杨氏双缝干涉进行可视化为例,来证明matlab对丰富物理教学以及促进学生学习有着重要的辅助作用。通过对夫琅禾费单缝与杨氏双缝干涉实验的实验结果进行理论分析,讨论在相同入射光波长条件下改变缝宽与在相同缝宽条件下改变入射光波长对单缝衍射条纹的影响,以及在杨氏双缝干涉实验中讨论不同的缝宽下或在单缝衍射调制下的干涉对条纹分布的影响。并利用matlab进行可视化,绘制出在相应的不同条件下夫琅禾费单缝衍射的衍射条纹图样和双缝干涉图像,并对图像进行简要的分析。由于从公式中对如何影响衍射条纹的各个因素的理解较为抽象,导致难以形成具体的直观认知,因此通过利用matlab使各个因素与条纹变化情况相互之间的联系用图像表示出来,形象地描绘出具体的变化情况,由此可以使学生听讲时在对夫琅禾费单缝及杨氏双缝干涉的理解起到促进加深的作用,也可对实验有一定的指导。matlab自身拥有许多的优点,例如内部提供非常丰富,简洁的库函数,其以矩阵为基本的数据结构,代替了c繁重琐碎的子函数编写程序,并且还可以根据使用者的需要编写新的函数或者对源程序进行修改来构建新的工具箱,不仅丰富了matlab的库函数,还使使用更加便捷与人性化.除此之外,matlab还具有强大的图形和符号功能,其自身带有许多绘图的库函数,可以绘制多种多样的二维和三维图形,同时还能利用图形界面对图形进行相应的编辑处理,因此能够处理许多抽象复杂的数据使其形象化。具有丰富、灵活实用的运算符。由于matlab是由c语言编写而成的,一次具有与c语言一样快捷实用的运算符,如果能够灵活使用matlab的运算符就会编制出非常简洁、实用的计算程序。matlab对程序语法的语法限制相对c而言不是非常严格,因此利用matlab程序编写的自由度很大。matlab具有实用价值并且功效显著的工具箱。其包含两个部分,其一是重点的部分,其二是供多种挑选的工具箱。重点部分由数百个关键的内置函数组成。工具箱分为两个部分,其一是功效性质的工具箱,其二是学科性质的工具箱。这些工具箱具有重要的功效,使用它们能够对不同的学科领域进行研究。譬如在处理物理问题中常用matlab自带的GUI用户图形处理界面。2夫琅禾费单缝衍射2.1实验分析2。1.1夫琅禾费单缝衍射条纹与光强分布无论是水波、声波或光波,当其波阵面的一部分以某种方式受到阻碍时,就会发生偏离直线传播的衍射现象。越过障碍物的波阵面的各部分因干涉而特定的波的强度分布叫做衍射图样.单缝衍射实验装置如下图(2—1—1)所示,当一束平行光垂直照射宽度可与光的波长比较的狭缝时,会绕过缝的边缘向阴影区衍射,衍射光线经透镜会聚到焦平面处的屏幕P上,形成衍射条纹。图2-1-1-1图2-1-1-1夫琅禾费单缝衍射单缝衍射条纹的分布:近似判断方法—菲涅耳波带法。如图(2-1-1)所示,单色平行光垂直照射宽度为b的狭缝AB(图中把缝宽放大约百倍),按惠更斯原理,AB面上各子波波源的球面波向各方向传播,在出发处相位相等.其中沿入射方向传播的,经透镜L会聚于PO处时,相位仍然相等,故加强为中央亮线;与入射线成角方向传播的,经透镜会聚于Pk,其明暗取决于各光线间的光程差。从A点作AC线垂直于BC,从AC线到达点Pk的所有光线都是等光程的,因而沿缝宽的各光线之间的光程差取决于从AB到AC之间的行进路程,而最大光程差,设想用相距为λ/2的若干平行于AC的平面分割BC,同时也就把狭缝上的波阵面分成一些等面积的部分,即菲涅耳半波带,从两个相邻半波带的对应点发出的光线到达AC面时的光程差均为λ/2,相位差为π,经透镜会聚后相位差仍为π,故强度互相抵消.据此可以推测:对应某确定的方向,若单缝波阵面可分成偶数个半波带时,Pk处为暗条纹;若单缝波阵面可分为奇数个半波带时,Pk处将有明条纹;若半波带数为非整数,Pk处于明暗之间。总之,当适合=kλ(k=±1,±2,…)(1)时则产生暗条纹,当适合=(2k+1)λ/2(k=±1,±2,…)(2)时则产生明条纹.对于强度的计算,为了清晰起见,图中狭缝的宽度AB已经放大。平行光束垂直于缝的平面入射时,波面和缝的平面重合,将缝分割为一组平行于缝长的窄带,次波将由每一条这样的窄带发出,其振幅正比于窄带的宽度dx。若设光的初相位为0,b为缝AB的宽度,Ao则为所有的窄缝所射出的次波的合振幅,并且是在=0的方向上.窄缝上的单位宽度的振幅为Ao/b,而次波,即由宽度为dx的窄带所发出的,其振幅为Aodx/b,则各窄带(即狭缝处)所发次波的振动可用下式表示(1)这些次波都类似等同是球面波,并不断向前移动。现在,首先对与射入方向成角(称为衍射角)的传播方向的全部的次波进行研究。在射入光束的平行波面AB上各个次波都有相等的相位,通过透镜L的光叠加在焦平面F上的同一位置P处。对于Pk点的合振幅的计算,各次波的相位关系务必要代入,其由各窄带到Pk点的光程所决定。现在作垂直于衍射方向BC的平面AC,要确定在Pk点相遇的各次波的相位关系必须根据BC面上的各个点的相位分布关系。利用从平面BC上沿衍射方向的各个点通过透镜至Pk的光程都一样,从而只要计算出从平面BC到平面AB的各平行直线段的光程差即可。在图1-1中,MK为衍射角等于的任一条光线。令AM=x,则MK=xsin,这就是所要求的光程差,即分别从M和A两点射出的次波沿着与Mk平行的方向到达平面AC说产生的.综上,可得AC面上K点的光的振动表达式(2)(3)则复振幅为(4)为计算方便,公式中设到达Pk点的各次波有相同的振幅(即光程与振幅成反比的关系和倾斜因子是不考虑的)。依据惠更斯-菲涅尔的理论,将公式对总的缝宽(从x=0到x=b)进行积分。最后可得在观察点Pk叠加起来的衍射为的所有次波合振幅(5)令,故Pk的光强为(6)图2-1-1-2图2-1-1-2夫琅禾费单缝衍射光强分布推导衍射图样的光强分布不同的衍射角对应于光屏上不同的观察点,首先来决定衍射图样中光强最大值和最小值的位置,即求出满足光强的一阶导数为零的那些点:将上式对u求导,得:分别解以上两式,可得出所有的极值点.单缝衍射中央最大值的位置由,解得满足的那个方向,即(中央最大值的位置)(2)单缝衍射最小值的位置由,解得满足Uk=的一些衍射方向,即(k=+1,+2,+3,...)(最小值位置)(3)单缝衍射次级最大的位置这些最大值通过解u=tanu可求,利用图解法求得u的值。作直线y=u和正切曲线y=tanu,它们之间的交点即是这个超越方程的解:Uk=1.4303π,2.459π,3.4709π,。。.即次最大条纹的中心位置,代入相对光强分布方程得到次最大光强的大小。图2-1-1-3图2-1-1-3夫琅禾费单缝衍射超越方程2。1.2缝宽及入射光波长对条纹的影响根据单缝衍射图像的特点各级亮条纹最大值的光的强度是不相等的。其中央最大值光的强度最强,中央亮条纹的最大值都远大于次级亮条纹的最大值,并伴随着级数k的减小而很快地增大,即便是第一级次条纹光强最大值也不到中央光强最大值的5%.透镜的中心到各级亮条纹所张的角度称为角宽度,中央亮条纹的角宽度等于,即等于其他各级亮条纹角宽度的2倍.这个结论可如下证明:屏上各级最小值到中心的角宽度满足。在很小时,它可近似写成,由于在最小值的位置公式中,k可取所有不为零的正负整数,而中央亮条纹以k=+1的最小值位置为分界,故公式近似地为若任意的两相邻暗纹之间为亮纹,故两侧亮纹的角宽度为(3)根据,可知最小处形成的每一侧的暗纹是等间距的,而次最大值彼此则间距是不会相等,不过随着级数k增大,次最大值也就越接近于间距相等.(4)上述只对单色光进行分析,若光源是白光,由于衍射图样中的明暗条纹位置与波长λ有关,则条纹的角宽度正比于,因此,除中央最大值,衍射是由不同的波长所产生的图样将相互分开。于是观察到的衍射图样的中央亮纹的中心能是白色的,中央亮条纹的边缘部分将有彩色现象,其他各级彩色条纹则依次交叠展开.(5)以下讨论一下缝宽b衍射图样的影响。中央最大值的半角宽度与波长λ成正比,与缝宽b成反比,即(6)随着缝的宽度加大,λ和b的比值减小。在b》λ的极限情况下,,这里可认为衍射图样压缩成为一条亮线。由此可见,障碍物使光强分布偏离几何光学规律的程度,可以用中央最大值的半角宽度来衡量。(3)式表明,只有在λ《b,衍射现象才可忽略不计;反之,λ越大或b越小,衍射现象就愈显著。由可得波长越长,缝宽越小,条纹宽度越宽,衍射现象就越明显。若b一定,改变λ对同一级(k值定)条纹λ↑,↑,反之,λ↓,↓若λ一定,改变b对同一级(k值定)条纹b↓,↑缝越细,衍射越明显;b↑,↓缝宽到一定程度,无衍射现象,为直线传播。2.2实验模拟2.2。1夫琅禾费单缝衍射条纹和光强图样1。程序clear;%清除变量x0=[];%建立空矩阵f=inline('x-tan(x)’);%定义函数解超越方程x0=[fzero(f,0),fzero(f,4),fzero(f,7)]%解赋予空矩阵x0=04。49347.7252n1=3;%解的个数xm=(n1+1)*pi;%自变量的最大值xx=linspace(0,xm,1000);%建立自变量向量y=xx;%建立正比列函数figure%创建图形窗口holdon%保持plot(xx,tan(xx),'LineWidth',2)%画曲线plot(xx,y,’r-','LineWidth’,2)%画曲线gridon%加网格axis([0,xm,-20,20])%设置曲线范围fs=16;%字体大小title(’超越方程\itu\rm=tan\itu\rm的解','FontSize',fs)%标题u=—8:0.1:8;%中间变量u(u==0)=eps;%为零时变最小量i=(sin(u)。/u).^2;%光强公式figure%创建图形窗口plot(u,i,’r-','LineWidth',2)%绘制曲线xlabel('衍射角fai’,’FontSize’,19,’Fontname','黑体’)%定义横坐标ylabel('相对光强i’,’FontSize’,19,'Fontname’,’黑体’)%定义纵坐标title('夫琅禾费单缝衍射光的强度分布’,’FontSize',19,’Fontname','黑体')%标题text(3。6,0。85,'Single—slitdiffraction’);%标记gridon%绘制网格c=255;%颜色大小figure%创建图形窗口image(i*1000)%画图像ColorMap(gray(c))%形成线性灰度色图axisoff%隐轴title(’夫琅禾费单缝衍射条纹分布','FontSize',19,'Fontname','黑体')%标题图像图2-2-1-1单缝衍射超越方程模拟图图2-2-1-1单缝衍射超越方程模拟图分析:每两个相邻暗条纹之间有一最大值(即次最大),这些最大值的位置可由超越方程u=tanu解得.模拟图中通过交点可清晰准确的看出u的值,由此得出次最大的位置,代入相对光强分布方程便可得到次最大光强的大小。图2-2-1-2单缝衍射光的强度分布模拟图图2-2-1-2单缝衍射光的强度分布模拟图图2-2-1-3单缝衍射条纹分布模拟图图2-2-1-3单缝衍射条纹分布模拟图分析:通过模拟图可得知单缝衍射光的强度分布中央最宽亮度最亮,两侧排列着宽度强度较小的亮条纹,相邻的亮条纹之间有一条暗条纹,并且从图中看出中央亮条纹是第一级亮条纹宽的两倍,第一级次最大值也不到中央最大值的5%。图像基本符合理论。2.2.2不同缝宽下的条纹和光强分布1.程序clear;%清除标量l=710e-9;%红光波长d=[0.5,0。1,0.05]*1e-3;%设置缝宽矩阵n=—1:0.0001:1;%自变量向量fai=n*pi/180;%角度向量[FAI,D]=meshgrid(fai,d);%绘制三维网格,建立矩阵u=2*pi*D。*sin(FAI)/l;%中间变量u(u==0)=eps;%若零改为小量i=(sin(u)./u).^2;%光强figure%创建图形窗口plot(fai,i,’-',’LineWidth',2)%画曲线title('单缝夫琅禾费衍射不同缝宽的光强曲线’,’FontSize',19,'Fontname','黑体')%标题xlabel('衍射角fai’,'FontSize’,19,'Fontname’,’黑体’)%标记横坐标ylabel('相对光强i’,’FontSize',19,'Fontname','黑体’)%标记纵坐标text(0.012,0.93,’红线representd=0.05');%标注text(0.012,0.83,'绿线representd=0。1');%标注text(0.012,0。73,'蓝线representd=0。5');%标注gridon%绘制网格c=255;%颜色大小figure%创建图形窗口image(i*1000)%画图ColorMap(gray(c))%形成线性灰度色图title('单缝夫琅禾费衍射不同缝宽下的条纹分布','FontSize',19,'Fontname’,’黑体')%标题xlabel(’至上而下:d=0.5d=0.1d=0.05','FontSize',19,’Fontname’,’黑体’)%标注2。图像图2-2-2-2不同缝宽下的衍射光强模拟图图2-2-2-2不同缝宽下的衍射光强模拟图图2-2-2-1不同缝宽下的衍射条纹分布模拟图图2-2-2-1不同缝宽下的衍射条纹分布模拟图分析:由模拟图像得知不同缝宽下衍射光强和条纹图像会改变,得知缝宽是影响其变化的要素之一,而从图中可观察到,随着缝宽的越来越窄,条纹间距就越大,光的强度就越明显,衍射现象就越显著。2。2。3不同波长下的条纹和光强图像程序clear;%清除变量k=3;%解的个数d=0。1e-3;%缝宽l=[700,550,400]*1e-9;%建立波长矩阵n=-1:0.001:1;%;建立自变量向量fai=n*pi/180;%角度向量[FAI,L]=meshgrid(fai,l);%建立三维网格矩阵u=2*pi*d*sin(FAI)。/L;%中间变量u(u==0)=eps;%若为零改小量i=(sin(u)./u).^2;%光强plot(fai,i,’—’,'LineWidth',2)%画曲线plot(fai,i(1,:),'r',fai,i(2,:),'g',fai,i(3,:),'b’,'LineWidth',2)%画曲线title(’单缝夫琅禾费衍射不同波长下的光强曲线',’FontSize',19,'Fontname',’黑体’)%xlabel(’衍射角fai',’FontSize',19,'Fontname','黑体')%标记横坐标ylabel(’相对光强i','FontSize',19,'Fontname','黑体')%标记纵坐标gridon%保持cm1=[0,0,0;0,0,0;1,0,0];%颜色矩阵cm2=[0,0,0;0,0,0;0,1,0];%颜色矩阵cm3=[0,0,0;0,0,0;0,0,1];%颜色矩阵figure%创建图形窗口m1=[];%空矩阵m2=[];%空矩阵m3=[];%空矩阵m1=i(1,:)%取第一个波长对应的光强分布image(m1*1000)%画图colorMap(cm1)%形成图形axisoff%隐轴figure%创建图形窗口m2=i(2,:)%取第二个波长对应的光强分布image(m2*1000)%画图colorMap(cm2)%形成图形axisoff%隐轴figure%创建图形窗口m3=i(3,:)%取第三个波长对应的光强分布image(m3*1000)%画图colorMap(cm3)%形成图形axisoff%隐轴title('单缝夫琅禾费衍射不同波长下的条纹分布',’FontSize',19,'Fontname','黑体’)%2.图像图2-2-3-1不同波长下的衍射光强分布模拟图图2-2-3-1不同波长下的衍射光强分布模拟图图2-2-3-2不同波长下的条纹分布模拟图图2-2-3-2不同波长下的条纹分布模拟图分析:由模拟图像得知不同波长下衍射光强和条纹图像会改变,得知波长是影响其变化的要素之一,而从图中可观察到,随着波长的越来越大,条纹间距就越大,光的强度就越明显,衍射现象就越显著.3杨氏双缝干涉3。1实验分析3.1。1双缝干涉条纹和光强分布1801年,杨氏巧妙地设计了一种把单个波阵面分解为两个波阵面以确定两个光源之间的相位差的方法来研究光的干涉现象。杨氏用叠加原理解释了干涉现象,在历史上第一次测定了光的波长,为光的波动学说的确立奠定了基础。图3-1-1-1图3-1-1-1杨氏双缝干涉装置杨氏利用了惠更斯对光的传播所提出的次波假设解释了这个实验。惠更斯认为波面上的任一一点都可看成是新的振源,并发出次波,光向前传播的原因就是所有这些次波相互叠加的结果。在杨氏实验装置中,S1和S2可看作是两个次波的波源,因为他们都是从同一个光源S而来的,所以又恒定不变的相同相位。在杨氏的干涉实验装置中,S,S1,S2都足够小,S1和S2就成为两个相干光源.图3-1-1-2杨氏实验装置图3-1-1-2杨氏实验装置考察屏上某点P1处的强度分布。由于S1、S2对称设置,且大小相等,认为由S1、S2发出的两光波在P1点的光强度相等,即I1=I2=Io,则P1点的干涉条纹分布为(1)(2)(3)表明P1点的光强I取决于两光波在该点的光程差或相位差。P1点合振动的光强得(4)(1)θ=2nπ(n=0,+1,+2,.。)P1点光强有最大值,I=4Io,P1处出现明条纹;(2)θ=(2n+1)π(n=0,+1,+2,..)P1点的光强有最小值,I=0;P1处出现暗条纹;(3)相位差介于两者之间时,P1点光强在0和4I之间。图3-1-1-4杨氏光强分布图3-1-1-3杨氏干涉光强分布推导图3-1-1-4杨氏光强分布图3-1-1-3杨氏干涉光强分布推导3.1。2不同缝间距对结果的影响选用如图坐标来确定屏上的光强分布PP1x,y,Lzyx由上面两式可求得图3-1-2-1杨氏干涉坐标推导图3-1-2-1杨氏干涉坐标推导实际情况中,d〈<L,若同时x,y<〈L则所以=于是有亮纹当当暗纹相邻两个亮条纹或暗条纹间的距离为条纹间距(1)干涉条纹是一组平行等间距的明、暗相间的直条纹。中央为零级明纹,上下对称,明暗相间,均匀排列.(2)干涉条纹不仅出现在屏上,凡是两光束重叠的区域都存在干涉,故杨氏双缝干涉属于非定域干涉。(3)当L、λ一定时,与d成反比若d增大时,减小,零级明纹中心位置不变,条纹变密.若d减小时,增大,条纹变稀疏。当L和d一定时,与λ成正比。若λ增大时,增大,条纹变稀疏.若λ减小时,减小,零级明纹中心位置不变,条纹变密。(4)如用白光作实验,则除了中央亮纹仍是白色的外,其余各级条纹形成从中央向外由紫到红排列的彩色条纹—光谱。(在屏幕上x=0处各种波长的光程差均为零,各种波长的零级条纹发生重叠,形成白色明纹.)3.1.3单缝调制下的双缝干涉(双缝衍射)在夫琅禾费单缝衍射的实验基础上,将衍射屏换成具有两个平行狭缝的屏即可。如图,设两个缝的宽度都为b,两缝中心距离为d。图3-1-3-1双缝衍射实验图3-1-3-1双缝衍射实验在双缝干涉实验中,如图,每个缝在光屏上形成一个单缝衍射图样,两图样相同且重合。但在光屏上得到的不是两个单缝衍射的简单叠加,因为两个单缝射出的光波是相干的,务必考虑到它们之间的相互的叠加.由矢量图(如图)可以解出,两缝射出的光波在P点的光程差,A1为一个单缝的衍射振幅,且A1=A2,又因A==2Rsin,A1=,得A=A1,由单缝衍射可知A1=Ao,得A=2Ao,I==,从而得双缝衍射强度分布公式:图3-1-3-2双缝衍射矢量图图3-1-3-2双缝衍射矢量图在比较可知,为单缝衍射因子,说明双缝衍射各级明条纹受到了单缝衍射因子的调制。在实验模拟图中将看到双缝干涉和与双缝衍射之间的关系,单缝衍射曲线调制了双缝曲线,就得到了双缝衍射光强曲线和条纹分布。对于a=,当b<<λ即,,则(4)式中,双缝衍射的光强公式就变化为了双缝干涉公式,即双缝衍射实验在理论公式上确实成为了杨氏双缝干涉实验,而在实际的实验中也可验证这一理论。由此可以阐释当双缝衍射实验在缝宽趋于零的极限时杨氏便是双缝干涉实验.在实际实验中,双缝干涉实验的缝的宽度是不可能趋于零,否则通过双缝的入射光的能量也将随之减少,我们将无法用肉眼观察到双缝干涉条纹;其次,技术上也无法达到理想的条件。可见光的波长为m,缝的宽度为m,在实际中是不可能达到b<〈λ,正因为杨氏双缝干涉中缝较宽且b〉λ,所以,通常在双缝干涉实验中,观察到的实际是双缝衍射条纹,因此,双缝干涉与双缝衍射条纹具有尤为相似的现象。3.2实验模拟3.2.1双缝干涉条纹和光强分布1.程序fai=-8*pi:0。1:7*pi;%角度向量I=4*cos(fai/2).^2;%光强向量figure;%创建图形窗口plot(fai,I,’r—',’LineWidth’,2)%画曲线title('干涉光的强度分布','Fontsize’,20,'Fontname','黑体')xlabel(’相差fai’,'Fontsize',20,'Fontname',’黑体’)ylabel('相对强度I','Fontsize',20,'Fontname','黑体')axistight%紧贴轴axis([—22,22,0,4])%设置轴的范围gridon%保持figure;%创建图形窗口r=linspace(0,1,64);%红色的范围g=zeros(size(r));%绿色取值为零b=zeros(size(r));%蓝色取值为零ColorMap([r,g,b]);%形成色图image(I*32)%画图title('光的双缝干涉条纹分布',’Fontsize’,21,'Fontname','黑体’)%标题axisoff;%隐轴2.图像图3-2-1-1干涉光强分布模拟图图3-2-1-1干涉光强分布模拟图图3-2-1-2干涉条纹分布模拟图图3-2-1-2干涉条纹分布模拟图分析:由模拟图可得知双缝干涉中各级亮条纹光强和宽度是相等的,并且相邻的亮条纹或相邻暗条纹是等间距的,各亮条纹强度相等,基本符合与实验和理论事实。3.2。2不同缝间距下条纹和光强分布程序clear;%清除变量l=0.5;%缝到屏的间距d=[0.015,0.02,0.025]*1e-3;%缝间距矩阵randa=710e—9;%波长x=-0。2:0。0001:0.2;%自变量矩阵[X,D]=meshgrid(x,d);%建立三维网格矩阵fai=(2*pi*D。*X)/randa*l;%相位差向量fai(fai==0)=eps;%若零该小量I=4*cos(fai/2)。^2;%光强figure;%创建图形窗口plot(fai,I(3,:),'r—’,’LineWidth’,2)%画曲线title(’干涉光的强度分布','Fontsize',20,'Fontname','黑体')xlabel('相差fai',’Fontsize',20,'Fontname',’黑体')%标记横轴ylabel(’相对强度I',’Fontsize’,20,’Fontname','黑体’)%标纵轴axistight%紧贴轴gridon%保持figure;%绘制图形窗口r=linspace(0,1,64);%红色的范围g=zeros(size(r));%绿色取值为零b=zeros(size(r));%蓝色取值为零ColorMap([r,g,b]);%形成色图image(I*32)%画图title('光的双缝干涉条纹分布','Fontsize',21,'Fontname','黑体')%标题axisoff;%隐轴2.图像图3-2-2-1不同缝间距下干涉光强分布模拟图图3-2-2-1不同缝间距下干涉光强分布模拟图图3-2-2-2不同缝间距下的干涉条纹分布模拟图图3-2-2-2不同缝间距下的干涉条纹分布模拟图分析:由模拟图像得知不同缝间距下干涉光强和条纹图像会改变,得知缝间距是影响其变化的要素之一,而从图中可观察到,随着缝间距的越来越大,条纹间距就越小,强度越弱,衍射现象就越不明显。3.2.3单缝调制下双缝干涉的条纹与光强图样1.程序l=10;%缝到屏的距离randa=710e—9;%波长x=-2:0.0001:2;%自变量向量n=-2:0。0001:2;%自变量向量fai=n*pi/180;%衍射角向量d=0.07e—3;%缝间距b=0。07e-3;%缝宽t=2*pi*d*x/(l*randa);%相位差a=(pi*b*sin(fai))/randa;%中间变量y1=cos(t/2).^2%杨氏干涉光强y2=(sin(a)./a).^2%单缝衍射光强I=y1.*y2%双缝衍射光强a(a==0)=eps%若a零改小量figure;%创建图形窗口plot(x,y1,'r-’,’LineWidth',2)%画曲线title('衍射光的强度分布’,’Fontsize',20,'Fontname','黑体')%标题xlabel('相差fai','Fontsize',20,’Fontname','黑体’)%标记横坐标ylabel(’相对强度I’,’Fontsize’,20,'Fontname',’黑体')%标记纵坐标figure;%创建图形窗口plot(fai,y2,'r-','LineWidth',2)%画曲线title('衍射光的强度分布','Fontsize’,20,'Fontname',’黑体')%标题xlabel(’相差fai','Fontsize',20,'Fontname',’黑体’)%标记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论