基于Matlab的电磁场与波“电磁波的入射、反射、透射”仿真—(可实现波形入射反射过程的仿真)

写在前面,本仿真与其他大多数仿真的改进点在于,本仿真实现了对于波形运动情况的仿真,并将大部分情况融合成为一个函数文件,可以通过改变参数实现不同的仿真(就是文章最后那堆代码)

 

一、正入射的基础驻波实现

1.原理

通过Matlab中的相关函数公式,仿真课本上电磁波的正入射过程中驻波的形成。代码中主要通过for循环对函数进行绘制

此代码与类似代码实现的效果并无不同

2.代码

w = 10;                                        %角频率,可以改变周期和震荡速录
x = -3:0.02:1;                                 %x轴坐标取样,可以改变波的长度
po1=0;                                         %用于入射波的数据点计数
po2=0;                                         %用于反射波和驻波的数据点计数beta0 = w/2;
w0 = w*0.01;for t=1:500                                   %循环次数,即动画持续时间Ei = cos(w0*t-beta0*x-pi/3);               %计算入射波Eo = cos(w0*t+beta0*x-pi/2);               %计算反射波Ez = Ei + Eo;                              %计算合成驻波plot([-3,1],[0,0],'k','LineWidth',2);      %画y参考轴线,不画的话图像会出问题hold on;plot([1,1],[-3,3],'k','LineWidth',2);      %画x参考轴线axis([-3,3,-3,3]);                         %固定视角plot(x, Ei,'b','LineWidth',2);             %绘制入射波plot(x, Eo,'r','LineWidth',2);             %绘制反射波plot(x, Ez,'k','LineWidth',2);             %绘制驻波xlabel('x','FontSize',10)                  %x标签ylabel('y','FontSize',10)                  %z标签hold off;title('均匀平面波正入射理想导体','FontSize',10,'color','k');text(1.5,0,'\it理想导体','FontSize',20);text(-2,2.2,'\itE_y','FontSize',20);drawnow;                                   %更新画面,形成动画
End

3.仿真效果图

二、正入射理想导体

1.原理

在上一个基础驻波的形成的基础上,加上了一个波形传播的模拟函数,其主要思想是在循环中嵌套进多层if条件判断,对于没有传播到的位点赋值为零,调整好初相位后即可实现对于波运动状态的模拟。

2.代码

w = 10;                                        %角频率,可以改变周期和震荡速录
x = -3:0.02:1;                                 %x轴坐标取样,可以改变波的长度
po1=0;                                         %用于入射波的数据点计数
po2=0;                                         %用于反射波和驻波的数据点计数beta0 = w/2;
w0 = w*0.01;for t=1:1000                                   %循环次数,即动画持续时间Ei = cos(w0*t-beta0*x-pi/3);               %计算入射波Eo = cos(w0*t+beta0*x-pi/2);               %计算反射波Ez = Ei + Eo;                              %计算合成驻波plot([-3,1],[0,0],'k','LineWidth',2);      %画y参考轴线,不画的话图像会出问题hold on;plot([1,1],[-3,3],'k','LineWidth',2);      %画x参考轴线axis([-3,3,-3,3]);                         %固定视角if t<length(x)if po1<length(x)po1=po1+1;for a=t:length(x)Ei(a)=0; endendend                                        %通过循环将入射波的传播方式模拟出来,没传到的地方置零plot(x, Ei,'b','LineWidth',2);            %绘制入射波if t>length(x)if po2<length(x)po2=po2+1;for b=1:length(x)-po2Eo(b)=0;Ez(b)=0;endend plot(x, Eo,'r','LineWidth',2);          %绘制反射波plot(x, Ez,'k','LineWidth',2);          %绘制驻波end%通过循环将反射波和驻波的传播方式模拟出来,没传到的地方置零xlabel('x','FontSize',10)%x标签ylabel('y','FontSize',10) %z标签hold off;title('均匀平面波正入射理想导体','FontSize',10,'color','k');text(1.5,0,'\it理想导体','FontSize',20);text(-2,2.2,'\itE_y','FontSize',20);drawnow;                                   %更新画面,形成动画
End

3.仿真效果图

三、正入射理想介质

1.原理

在上一个基础驻波的形成的基础上,加上了一个波形传播的模拟函数,其主要思想是在循环中嵌套进多层if条件判断,对于没有传播到的位点赋值为零,调整好初相位后即可实现对于波运动状态的模拟。

2.代码

w = 10;                                        %角频率,可以改变周期和震荡速录
x = -3:0.02:0;                                 %x轴坐标取样,可以改变波的长度
y = 0:0.02/3:3;
po1=0;                                         %用于入射波的数据点计数
po2=0;                                         %用于反射波和驻波的数据点计数
po3=0;beta0 = w/2;
w0 = w*0.01;
ur = 9;
er = 1;                                        %设置已知量beta1 = sqrt(ur*er)*beta0;
F = 1/2;                                       %发射系数
T = 3/2;                                       %折射系数for t=1:1000                                   %循环次数,即动画持续时间Ei = cos(w0*t-beta0*x-pi/3);               %计算入射波Eo = 0.5*cos(w0*t+beta0*x-pi/3);           %计算反射波,折射系数为0.5Et = 1.5*cos(w0*t-beta1*y-pi/3);           %计算透射波,折射系数为1.5 Ez = Ei + Eo;                              %计算合成驻波plot([-3,3],[0,0],'k','LineWidth',2);      %画y参考轴线,不画的话图像会出问题hold on;plot([0,0],[-3,3],'k','LineWidth',2);      %画x参考轴线axis([-3,3,-3,3]);                         %固定视角if t<length(x)if po1<length(x)po1=po1+1;for a=t:length(x)Ei(a)=0; endendend                                       %通过循环将入射波的传播方式模拟出来,没传到的地方置零plot(x, Ei,'b','LineWidth',1);            %绘制入射波if t>length(x)if po2<length(x)po2=po2+1;for b=1:length(x)-po2Eo(b)=0;Ez(b)=0;endendplot(x, Eo,'r','LineWidth',1);          %绘制反射波plot(x, Ez,'k','LineWidth',2);          %绘制合成驻波if po3<length(y)po3=po3+1;for c=t-length(x):length(y)Et(c)=0; endend                                     plot(y, Et,'k','LineWidth',2);          %绘制透射波     endxlabel('x','FontSize',10)%x标签ylabel('y','FontSize',10) %z标签hold off;title('均匀平面波正入射理想导体','FontSize',10,'color','k');text(1,2,'\it理想介质','FontSize',20);text(-2,2.2,'\itE_y','FontSize',20);drawnow;                                   %更新画面,形成动画
End

3.仿真效果图

四、程序代码

1.原理

在以上三个代码的基础上,我重新改善了代码结构,将两个代码融合,并将波形的显示长度,运行速度,以及两种媒质的三个电磁常量设置为程序的变量。通过嵌套多层判断实现对于不同媒质电导率(0或无穷大)的判断,判断是否为理想介质还是理想导体,进而绘制出不同的波形。

2.代码

% %lxjz_prj是一个用来实现不同参数的两种理想介质之间的电磁波传播的仿真函数
% %为--周一七八节第四组--原创函数,如有雷同,纯属巧合
% %以下部分为设置参数建议,函数较为简陋,还请手动调试参数
% %function lxjz_prj(sudu,bo,ur1,er1,ur2,er2)
%             sudu = 0.04;          %sudu用于控制图像速度,且与图像的分辨率有关,建议大小为0.01~0.05
%             bo =3;                %bo用于控制图像显示的波长,建议大小为1~5
% %             请注意:sudu*bo最好小一些,否则会导致图像分辨率过低,出现图像bug
%             ur1 = 4;              %设置已知量
%             er1 = 9;    
% %           gama1 = 0;
%             ur2 = 9;
%             er2 = 4;
%             gama2 = 0;
function zrs(sudu,bo,ur1,er1,ur2,er2,gama2)w = 2*pi;                                      %角频率,可以改变周期和震荡速录,f = 1, v0=3
k0 = w/bo;
w0 = w*sudu;                                   %后面乘上的数要和x,y的分度保持一致,用于控制图像向右的速度
gen1 = sqrt(ur1*er1);
gen2 = sqrt(ur2*er2);                          %用于求β
gen11 = sqrt(ur1/er1);
gen22 = sqrt(ur2/er2);x = -3:sudu*bo/gen1:0;                         %x轴坐标取样,可以改变波的长度
y = 0:sudu*bo/gen2:3;
po1=0;                                         %用于入射波的数据点计数
po2=0;                                         %用于反射波和驻波的数据点计数
po3=0;k1 = gen1*k0;                                  %即β1
k2 = gen2*k0;                                  %即β2
R = (gen22-gen11)/(gen22+gen11);               %反射系数
T = 2*gen22/(gen22+gen11);                     %透射系数
if gama2 == InfR = -1;T = 0;
endfor t=1:500                                    %循环次数,即动画持续时间Ei = cos(w0*t-k1*x-pi/2);                  %计算入射波Er = R*cos(w0*t+k1*x-pi/2);                %计算反射波,折射系数为REt = T*cos(w0*t-k2*y-pi/2);                %计算透射波,折射系数为TEz = Ei + Er;                              %计算合成驻波plot([-4,4],[0,0],'k','LineWidth',2);      %画y参考轴线,不画的话图像会出问题hold on;plot([0,0],[-3,3],'k','LineWidth',2);      %画x参考轴线axis([-3,3,-3,3]);                         %固定视角if t<length(x)if po1<length(x)po1=po1+1;for a=t:length(x)Ei(a)=0; endendend                                       %通过循环将入射波的传播方式模拟出来,没传到的地方置零plot(x, Ei,'b','LineWidth',1);            %绘制入射波if t>length(x)if po2<length(x)po2=po2+1;for b=1:length(x)-po2Er(b)=0;Ez(b)=0;endendplot(x, Er,'r','LineWidth',1);          %绘制反射波plot(x, Ez,'k','LineWidth',2);          %绘制合成驻波if po3<length(y)po3=po3+1;for c=t-length(x):length(y)Et(c)=0; endend                                     plot(y, Et,'k','LineWidth',2);          %绘制透射波     endxlabel('x','FontSize',10)                  %x标签ylabel('y','FontSize',10)                  %z标签hold off;title('均匀平面波正入射','FontSize',10,'color','k');if gama2 == 0text(1,2.2,'\it理想介质','FontSize',20);elsetext(1,2.2,'\it理想导体','FontSize',20);endtext(-2,-2.2,'\itE_y','FontSize',20);text(-2,2.2,'\it理想介质','FontSize',20);drawnow;                                   %更新画面,形成动画
End

 以下为函数的帮助文档,通过改变参数,可以通过此函数实现电磁波入射不同介质的波形的仿真

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25517.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电磁阀选型

目录 一、电磁阀的基本认识 1.电磁阀的 “位”和“通” 2.电磁阀实现气路控制的原理&#xff1a; 二、电磁阀介绍和选型 2.1 二位二通 2.2 二位三通&#xff08;重点&#xff09; 2.3 二位五通阀&#xff08;常用&#xff0c;重点&#xff09; 2.3 三位五通电磁阀 2.3…

电磁场与电磁波实验:仿真计算介质板的电磁参数

仿真计算介质板的电磁参数 掌握仿真计算时谐均匀平面电磁波入射到介质板的反射系数和透射系数&#xff1b;编写 matlab 程序&#xff0c;利用反射系数和透射系数计算介质板的电磁参数。 利用Eastwave软件先设计相应实验模型&#xff0c;再设计边界条件、网格、激励源等&#x…

EMI (电磁干扰)

EMI是指电子产品工作会对周边的其他电子产品造成干扰&#xff0c;与此关联的还有EMC规范。是电子电器产品经常遇上的问题。干扰种类有传导干扰和辐射干扰。 电磁干扰&#xff08;Electromagnetic Interference 简称EMI&#xff09;&#xff0c;直译是电磁干扰。这是合成词&…

智能车电磁传感器检测原理

检测原理&#xff1a; 1、导线周围的电磁场 根据麦克斯韦电磁场理论&#xff0c;交变电流会在周围产生交变的电磁场。智能汽车竞赛使用路径导航的交流电流频率为20kHz&#xff0c;产生的电磁波属于甚低频&#xff08;VLF&#xff09;电磁波。甚低频频率范围处于工频和低频电磁破…

如何使用 MATLAB 音频处理 - 制作钢琴 - 进行编曲弹奏音乐

小插曲 - MATLAB 代码格式化 MBeautifier 是一个基于 MATLAB 源代码的开源一键美化m代码的格式器。它可以直接在MATLAB编辑器中使用&#xff0c;并且可按照使用者习惯进行配置的。MBeautifier支持的 Matlab 最低版本是 R2013b。 audioread&#xff0c;sound 函数 filename&am…

Android 音乐频谱实现

最近由于需要实现音乐频谱&#xff0c;所以今天就为大家普及一下。关于音乐频谱你需要了解数字信号处理的知识&#xff0c;尤其是FFT的知识。简单说就是把时域上连续的信号(波形)强度转换成离散的频域信号(频谱)。我理解波形就是信号的强度&#xff0c;或者说音响设备的输出的功…

FLStudio水果21最新Daw (宿主软件)电音混音编曲制作工具

对许多音乐爱好者来说&#xff0c;从单独欣赏作品过渡到按自己的心情创作作品&#xff0c;是一种奇妙而令人高兴的体验。 音乐的编曲&#xff0c;特别是电子的编曲&#xff0c;Daw (宿主软件)是重要的要素。 编曲软件有很多。 “专业”这个词取决于你是否在行业的某个部分。 就…

编曲新手可以用什么编曲软件?

如今我们可以在网上找到各种各样学习资料&#xff0c;涵盖各个领域&#xff0c;可以说现在的学习门槛很低了。就拿学音乐来说&#xff0c;各种音乐工具软件、音乐教学视频等等降低了学习音乐的门槛。但是资源多了&#xff0c;如何选择适合自己的呢&#xff1f; 比如市面上音乐…

2023适合新手的免费编曲软件FL Studio水果21中文版

水果软件即FL Studio&#xff0c;这是一款较为专业的编曲软件&#xff0c;这款软件自带高品质打击乐、钢琴、弦乐以及吉他等107种乐器效果&#xff0c;内置了包括经典电子音色、合成利器3xosc、sytrus、slicex等多种插件&#xff0c;可以帮助音乐制作人创作不同的音乐曲风&…

编曲鼓音源推荐 编曲怎么编鼓

现代音乐打击乐中鼓点的应用所占的比重非常大&#xff0c;无论是流行乐&#xff0c;摇滚乐&#xff0c;还是EMD几乎都有大量的鼓元素的使用。在编曲的时候&#xff0c;好的鼓音源能让编曲增色不少&#xff0c;那么有哪些鼓音源推荐呢&#xff1f;编曲怎么编鼓呢&#xff1f;下面…

Python编曲实践(一):通过Mido和PyGame来编写和播放单轨MIDI文件

前言 人工智能编曲是一个十分复杂的话题&#xff0c;而这一话题的起点便是选择一个良好的编曲媒介&#xff0c;使得开发者能够将AI的音乐灵感记录下来&#xff0c;并且能够很方便地将其播放、编辑、分享。 MIDI文件是电脑编曲的一种通用格式&#xff0c;它容易通过音乐编辑软件…

电脑版fl studio水果音乐编曲软件 v20.8新中文版

FL Studio又称水果萝卜&#xff0c;是一款专业的音乐制作软件&#xff0c; FL Studio新版本体积过大&#xff0c;小编故提供FL Studio 20.8中文收藏高级版&#xff0c;这个版本可说是非常的经典。 01&#xff0c;安装第一步&#xff1a;flstudio20.8英文原版安装文件。安装时一…

fl studio 20.9Mac新版中文水果音乐制作工作站编曲软件

fl studio 20.9Mac水果音乐制作工作站编曲软件 fl studio 20.9Mac是Image-Line公司出品音乐制作工作站FL Studio 20.9水果音乐制作工作站一个功能齐全的音乐编曲工具&#xff0c;可以为需要创作高品质音乐曲目的专业和业余艺术家提供多轨录音&#xff0c;排序和混音。借助FL S…

Image-Line新版flstudio20.9水果编曲制作音乐

导读&#xff1a;昨晚Image-Line发布FL Studio 20.9&#xff0c;而今年也是他们成立第21周年。FL 20.9一经发行便引起了广大制作人的关注&#xff0c;今天我们来介绍一下这款软件。 即使你不是一位制作人&#xff0c;你也肯定听说过FL Studio 20.9或是“水果”的大名。在各大编…

2021年4款好用的音乐编曲软件推荐

对很多音乐爱好者而言&#xff0c;从单独的欣赏作品&#xff0c;过渡到按自己的心情创作作品&#xff0c;是一段奇妙又欣喜的体验。而音乐编曲&#xff0c;尤其是电音编曲&#xff0c;Daw&#xff08;宿主软件&#xff09;是一个很重要的元素。 编曲软件很多&#xff0c;但实际…

《零基础作曲编曲完全教程》(合辑)崛起的卧室音乐人 编曲教程 作曲教程精进篇

1、精进篇1展开音乐 必须反复 崛起的卧室音乐人精静篇这节是精进篇的第一讲&#xff0c;展开音乐入门篇的比较务实。精进篇我会把重点放在拓宽思维以及提高认知上&#xff0c;**经过了一番折腾&#xff0c;一个小乐段大家应该都能写出来了吧。**但此时距离完整的音乐还有一段比…

MIDI 音乐程序设计 (可以自己编曲的快乐)

乐器数字接口(MIDI)简介 乐器数字接口&#xff08;Musical Instrument Digital Interface&#xff0c;MIDI&#xff09;&#xff0c;是20世纪80年代初为解决电声乐器之间的通信问题而提出的&#xff0c;是电子乐器制造商们建立的通信标准&#xff0c;是电子乐器之间以及电子乐…

FL Studio21水果编曲高级版本音乐编曲工具

说到电音已经不是很新鲜的话题了&#xff0c;在这个自媒体视频为王的年代&#xff0c;相信很多年轻人都想成为一个优秀的up主&#xff0c;在各大媒体网站上上传一些自己录制的游戏剪辑&#xff0c;再配上一段劲爆的电音&#xff0c;可能视频就会从3分变成7分的评价了。筱黑君也…

Fruity Loops Studio2022最新版水果音乐编曲软件

FL Studio水果编曲英文名&#xff1a;Fruity Loops Studio&#xff0c;简称FL&#xff0c;是国人熟知的水果编曲工具&#xff0c;圈内音乐人习惯叫它“水果”。FL Studio是一个全能音乐制作环境或数字音频工作站&#xff0c;可以进行编曲、剪辑、录音、混音 &#xff0c;让电脑…

FL Studio21傻瓜式编曲音乐编辑器FL水果软件

在我看来软件只是工具.不管哪个都可以做任何风格的音乐,区别只是软件操作相对而言fl studio更容易上手,在国内也很受欢迎,弱项应该是混音上如果你做电音的话 还是FL更好一些 ,因为他就是为舞曲而生的!flstudio内配置音源、插件、录音软件、混音效果!而FLStudio则更偏向于电子音…