光栅衍射C语言程序,基于matcom的光栅衍射仿真程序
1,核心代码
double lam=500e-9;//波长
double N=2;//缝数
double a=2e-4;//光栅常数
double D=1;//屏距
double d=1e-3;//缝宽
double ym=2*lam*D/a;//x轴观察范围
double xs=ym;//y轴观察范围
int n=500;//取样点数
Mm ys=linspace(-ym,ym,n);
Mm B;
B=zeros(10,n);
//计算光强分布
for(int i=1;i<=n;i++)
{
double sinphi=ys.r(i)/D;
double alpha=3.1415926*a*sinphi/lam;
double beta=3.1415926*d*sinphi/lam;
for(int j=1;j<=10;j++)
B(j,i)=(sin(alpha)/alpha)*(sin(alpha)/alpha)*(sin(N*beta)/sin(beta))*(sin(N*beta)/sin(beta));
}
CRect m_client;
//绘制曲线
winaxes(GetDlgItem(IDC_LINE)->m_hWnd );
GetDlgItem(IDC_LINE)->GetClientRect(m_client);
axesposition(0,0,m_client.Width(),m_client.Height());
Mm m_line=plot((CL(ys),B/4));
set(m_line,TM("color"),TM("blue"));
//绘制图像
winaxes(GetDlgItem(IDC_IMAGE)->m_hWnd );
GetDlgItem(IDC_IMAGE)->GetClientRect(m_client);
axesposition(0,0,m_client.Width(),m_client.Height());
imagesc((ys,xs,CL(B)));
//颜色渲染
Mm color;
int colorIndex=64;
color=zeros(colorIndex,3);
for(int k=1;k<=colorIndex;k++)
color.r(k,2)=(double)k/colorIndex;
colormap(color);
drawnow();
exitM();
2,运行结果
光栅衍射C语言程序,基于matcom的光栅衍射仿真程序相关推荐
- 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc
基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...
- 收音机c语言程序,基于单机收音机的C语言程序.doc
基于单机收音机的C语言程序 单片机源程序 #include //调用单片机头文件 #define uchar unsigned char //无符号字符型 宏定义变量范围0~255 #define u ...
- 51单片机的电子钟c语言程序,基于51单片机的电子钟C语言程序
基于单片机C语言的电子钟程序代码与仿真 基于51单片机的电子钟C语言程序: 程序代码 #include #include #define uchar unsigned char #define uin ...
- 步进电机循环脉冲c语言程序,基于C语言的步进电机调速.doc
课 程 设 计 (论文) 题目 基于C语言的步进电机调速 目 录 0. 前言3 1.基本理论4 2. 方案设计4 2.1 步进电机5 2.2 8255芯片5 3. 硬件电路的工作原理5 3.1 步进电 ...
- 单片机按键控制数码管c语言程序,基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文).doc...
基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文) 物理与电子工程学院2014级课程设计 PAGE IV 物理与电子工程学院 <单片机原理与接口技术> 课程设计报告书 ...
- 烟雾检测电路c语言程序,基于51单片机火灾报警器系统烟雾检测温度检测设计(原理图+程序仿真+论文)...
课题题目基于单片机的火灾自动报警系统 课题的目的.意义以及和本课题有关的国内外现状分析:1.目的:本系统以单片机为主控单元,能够及时监测到系统故障和环境中有无火灾,火灾一旦发生将实现声光报警,并采取有 ...
- 太阳能路灯c语言程序,基于单片机的智能太阳能路灯控制系统的设计方案
摘要:随着世界能源危机日益严重,利用太阳能成为解决能源问题的一大途径,在此背景下开发智能太阳能路灯意义重大.本文介绍了智能太阳能路灯系统的组成及工作原理,采用LPC935 单片机作为主控制器,结合密封 ...
- 液位系统c语言程序,基于STM32的液位控制系统设计
程训明 董婷婷 摘 要:本文设计一种基于STM32的液位控制系统,该控制系统采用STM32作为控制核心,使用压力传感器采集水箱内的液位,通过串口触摸屏进行液位显示和给定,对水位进行有效的闭环控制.系统 ...
- 湿度控制c语言程序,基于51单片机的湿度控制系统设计.doc
基于51单片机的湿度控制系统设计 基于51单片机的湿度控制系统设计 摘要 关键词:单片机:湿度传感器:ADC0832数模转换 目 录 序 言1 第一章 系统的整体设计方案2 1.1设计内容2 1.2系 ...
最新文章
- FreeMarker对应各种数据结构解析
- Effective Java 英文 第二版 读书笔记 Item 14:In public classes,use accessor methods,not public fields...
- python常用算法有哪些_python常见的排序算法有哪些?
- [洛谷P1369]矩形
- 不敢摔!三星Galaxy Fold换屏费用可以入手一部华为Mate 30了
- vue ---- 动态组件
- python都有哪些变量_Python变量作用域有哪些
- 《Java遗传算法编程》—— 1.8 参数
- 28万个开源项目之番外篇
- javaweb从入门到精通教程,7天彻底搞定javaweb
- xrd连续扫描和步进扫描_XRD基础性问题
- Android 设备管理器 理解和使用
- 转载-常用邮箱SMTP服务器地址大全
- 【01背包】【DP】精卫填海(黄题)
- 红色的反色是青色引申出PS怎么反色之教程
- 测试人员在软件测试过程中的职责,到底哪些事情属于测试人员的职责?
- PyGmae:有限状态机实践(十二)
- 星历表2019最新跟踪
- jQuery简介、引入jQuery、jQuery核心函数、jQuery对象、jQuery对象操作class、addclass补充、jQuery对象复制——jQuery
- Mapbox网络GIS开发第一步——Mapbox本地化
热门文章
- php 日期相减 时分秒,PHP计算两个时间戳间隔的日时分秒的代码实例
- boost linux 测试程序,Linux平台下安装 boost 库
- idea开发vue项目时,使用@引入组件警告:Module is not installed
- 配置NAT超载(NAPT)
- 摘抄和总结--确保搞砸人工智能项目的十种方法
- 为什么程序员也能成为伟大的CEO
- 各种数字显示屏接口:LVDS, DVI, HDMI, DisplayPort, DSI
- 讨论简书留言界面的设计
- Arcgis Javascript那些事儿(十一)--网络分析服务使用
- HTTP版本/层次/响应/状态之高屋建瓴