电磁场与电磁波实验一 熟悉Matlab软件在电磁场领域的应用

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料)


微信公众号:创享日记
发送:matlab电磁场
获取完整无水印报告



一.实验内容
1.熟悉Matlab软件在电磁场领域的应用
2.熟悉相关代码,知道各函数的不同功能
3.运行所给代码,加深对函数功能的印象与理解



二.实验过程与结果

第1章 MATLAB在场论中的应用
1.标量函数及其可视化
1.1使用plot函数绘制一维标量函数

x = 0:pi/1000:2*pi;         	% x取值范围由0到2π,pi/1000是递增的步长
y =sin( 2*x + pi/4);         	%表示y的函数表达式是sin类型
plot(x,y)  

在这里插入图片描述

x = 0:pi/20:2*pi;    
y = sin(2*x +pi/4);   
plot(x,y,'--or')  

实验结果:
在这里插入图片描述

x = 0:pi/100:2*pi;          %表示x从0到2π
y1 = sin(x);               %表示y1函数
y2 = sin(x-0.25);           %表示y2的函数
y3= sin(x-0.5);             %表示y3的函数
figure
plot(x,y1,x,y2,'--',x,y3,':')     %绘制y1,y2,y3的函数图像

在这里插入图片描述
MATLAB中plot函数常常被用于绘制各种二维图像。利用 plot函数绘制二维点图和线图的基本格式为:plot(X,Y, LineSpec)。
其中,X由所有输入点坐标的X值组成,Y是与X对应的纵坐标所组成的向量或矩阵。若Y和X为同维向量,则以X为横坐标,Y为纵坐标绘制连线图。若X是向量,Y是行数或列数与X长度相等的矩阵,则绘制多条不同色彩的连线图,X被作为这些曲线的共同横坐标。若X和Y为同型矩阵,则以X和Y为对应元素分别绘制曲线,曲线条数等于矩阵列数。LineSpec是用户指定的绘图样式。
注意:在同时绘制多条曲线时,如果没有指定曲线属性,plot按顺序循环使用当前坐标系中颜色和线型两个属性。
1.2使用mesh函数和surf函数及相关拓展函数绘制三维曲面

 x=linspace(-2, 2, 25);     	%在-2到2取25个点
y=linspace(-2, 2, 25);      	%在-2到2取25个点
[xx, yy]=meshgrid(x, y);   	%生成网格采样点
zz=sqrt( xx.^2 + yy.^2);    	%生成矩阵Z
mesh( xx,yy,zz);         	%画出立体网状图

在这里插入图片描述

x=linspace(-2, 2, 25);     	%在-2到2取25个点
y=linspace(-2, 2, 25);      	%在-2到2取25个点
[xx, yy]=meshgrid(x, y);    	%生成网格采样点
zz=sqrt( xx.^2 + yy.^2);     	%生成矩阵Z
surf( xx,yy,zz);            	%画出着色的三维曲面

在这里插入图片描述
MATLAB中提供了mesh和surf函数来绘制三维曲面图。其中,mesh函数用于制三维的网格图,可以用三维网格图来表示绘制要求不是特别精细的三维曲面;surf函数用于绘制三维曲面图,各线条之间的面元用颜色填充。
其调用格式为:mesh(x, y,z,c)和surf(x, y, z, c)
通常情况下,x 、y ,z为维数相同的矩阵;x、y为网格坐标阵;z是网格点上的高度矩阵;c是用来定义相应点颜色等属性的数组,即由数组c指定的颜色来绘制网格图或曲面图。当c省略时,MATIAB默认c=z,即对于颜色的设定是正比于高度的,以便绘制出层次分明的三维图形。当x,y省略时,把z矩阵的列下标当作x轴坐标,把z矩阵的行下标当作y轴坐标,然后绘制三维曲面图。当x、y为向量时,要求x的长度必须等于z矩阵的列数,y的长度必须等于z矩阵的行数。
另外,MATLAB中还包含了两个和 mesh函数相似的函数﹐即带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh函数相类似,区别在于meshc还在xoy平面上绘制曲面在轴方向的等高线,meshz还在xoy平面上绘制曲面的底座。同样地,surf函数也有两个类似的函数surfc和surfl,分别用于绘制具有等高线的曲面和具有光照效果的曲面。
1.3使用contour函数绘制二维和三维等高线

[X,Y]=meshgrid([-2:0.25:2]);                    	%创建X-Y网格坐标平面
Z=X.*exp(-(X.^2+Y.^2));                      	%计算函数值
contour(X,Y,Z);                               	%绘制二维等高线 
figure;     	%重建新的图形窗口
contour3(X,Y,Z,30);                            	%绘制三维等高线

在这里插入图片描述
MATLAB中的contour和contour3函数分别用于绘制标量函数的二维和三维等高线图。其基本的语法格式如下:contour(x, y,z)和contour3(x, y,z)。与mesh 函数和surf函数相同,通常情况下x、y、z为维数相同的矩阵,x、y为网格坐标阵;z是网格点上的高度矩阵。
1.4利用pcolor函数绘制伪彩色图

[X,Y]=meshgrid([0:20]);     %创建X-Y网格坐标平面
Z=sqrt(X.^2+Y.^2);         %计算函数值
figure;
hold on
pcolor(X,Y,Z);             %绘制伪彩色图
plot([0:20],[0:20],'r+');       %绘制x=y对应的点
colorbar;                  %显示色阶,默认为jet

在这里插入图片描述
MATLAB中利用pcolor函数绘制伪彩色图,用于以二维平面图表现三维图形的效果,用颜色来代表三维图形的高度,其调用格式如下:
l) pcolor©
绘制指定颜色C的伪彩色图,参量C为矩阵,其元素都线性地映射于当前色图下标。2) pcolor(X,Y,C)
绘制指定颜色C和相应网格线间间距的伪彩色图,X和Y为指定网格间间距的向量或矩阵。若X、Y为矩阵,则X、Y与C维数相同;若X、Y为向量,则X的长度为矩阵C的列数,Y的长度为矩阵C的行数。
1.5利用isosurface函数绘制三维伪彩色图

[X,Y,Z]=meshgrid(linspace(-10,10));    	%形成网格数据(X,Y,Z)
V=X.^2+Y.^2-Z.^2;                  	%形成体数据V
isosurface(X,Y,Z,V,1);                	%绘制三维隐函数图形X.^2+Y.^2-Z.^2=1
axis equal
colormap([1 0 0]);                    	%改变图形颜色为红色
brighten(0.5);                        	%进行增亮  
camlight right;                       	%设置光源位置
lighting phong;                       	%设置光照模式
figure(2);
fv=isosurface(X,Y,Z,V,1);               	%计算等值面所对应的面元和顶点
p=patch(fv);                         	%绘制等值面
set(p,'FaceColor','red','EdgeColor','none');  	%修饰等值面
axis equal                            	%等比例显示 

在这里插入图片描述
isosurface函数是MATLAB中用于绘制三维隐函数图形的工具。其调用格式如下: fv = isosurface(X,Y,Z, V,isovalue);基于isovalue中指定的数值,计算体数据V并绘制等值面,即等值面连接具有指定V的点;V是关于网格数据(X,Y,Z)的体数据,isovalue是给定的等值面数值。
isosurface函数还可以得到等值面的顶点和面,然后调用patch函数直接画出来。上面语句中,fv就是函数返回的包含有顶点和面的结构。
1.6利用peaks函数演示三维曲面

[x,y,z]=peaks;               	%调用peaks函数,得到相关数据
peaks;                       %绘制peaks函数图像
axis([-inf inf -inf inf -inf inf]);	

在这里插入图片描述
peaks函数,即多峰函数,可用于三维曲面的演示。在命令框中可以直接输入peaks来绘制该函数,产生一个凹凸有致的曲面,包含三个局部极大点和三个局部极小点。也可以对peaks函数取点,再以不同的方法进行绘制。
1.7采用slice函数绘制切片图

[x,y,z]=meshgrid(-2:0.2:2,-2:0.25:2,-2:0.16:2);	%产生三维立体网格
v = x.*y.*z.*exp(-(x.^2+y.^2+z.^2));	%在网格上定义函数
xslice = [-1.2:0.8:2]; yslice = 2; zslice = [-2,0];	%定义切片位置
slice(x,y,z,v,xslice,yslice,zslice)	%绘制切片图
xlabel('x'); ylabel('y'); zlabel('z');	%标注坐标轴标号
colormap hsv; 	%设置调色板为hsv

在这里插入图片描述
slice函数可用于绘制立体切片图。slice函数通过体数据来展示正交切片平面,可通过三维实体的四维切片色图来展示四维图像,用三维实体上的颜色来描述函数值的变化情况。其基本调用格式为:slice(X,Y,Z,V,XI,YI,ZI)。利用体数据V沿着由数组XI,YI,ZI定义的表面绘制切片图,V的大小决定了每一点的颜色。
1.8利用NaN函数裁剪图形

[x,y,z]=sphere(30);
z1=z;
z1(:,1:6)=NaN;                 %将大球的一部分裁掉
c1=ones(size(z1));
surf(4*x,4*y,3*z1,c1);           %绘制大球
hold on
z2=z;
c2=2*ones(size(z2));
c2(:,1:6)=3*ones(size(c2(:,1:6)));
surf(2*x,2*y,2*z2,c2);           %绘制小球
colormap([0,1,0;0.5,0,0;1,0,0]);
grid on
hold off

在这里插入图片描述
NaN(Not a Number)可以勇于表示不可使用的数据。利用这个特性,可将图形中需要裁减的部分对应的函数值设置为NaN,这样在绘制函数图像时,函数值为NaN对应的部分将不被显示出来,以达到裁剪的目的。
2.矢量函数及其可视化
2.1利用meshgrid函数获取采样点

x=-3:1:3; y=-2:1:2;
[X,Y]=meshgrid(x,y)

在这里插入图片描述
在利用MATLAB进行3D图形的绘制过程中,往往需要一些采样点,然后根据这些采样点来绘制出整个图形。在进行3D绘图操作时,涉及x、y、z三组数据,而x、y这两组数据可以看作在xoy平面内对坐标进行采样得到的坐标对(x,y)。meshgrid是用于生成网格采样点的函数,也称为格点矩阵。其基本格式为:[X,Y]= meshgrid(x, y)

2.2利用quiver函数与quiveru函数绘制二维矢量场(详见报告)
2.3利用streamline函数绘制流线(详见报告)
2.4矢量函数可视化(详见报告)

3.梯度的可视化(详见报告)
3.1利用gradient函数计算梯度
3.2标量函数梯度向量可视化

4.散度的可视化(详见报告)
4.1利用divergence函数计算散度
4.2矢量场散度化

5.旋度及其可视化(详见报告)
5.1利用curl函数计算旋度
5.2矢量场旋度的可视化

6.拉普拉斯算子(详见报告)
6.1矢量场和标量场的拉普拉斯运算
6.2离散拉普拉斯算子del2


第2章 利用MATLAB绘制电磁场中的线和面(详见报告)
1.基于qiuver函数的力线绘制方法
2.基于streamline函数的力线绘制方法
3.基于力线方程的力线绘制方法
4.等势面(线)绘制方法
5.利用描点法绘制力线


第3章 MATLAB 在天线当中的应用(详见报告)
1.利用polar函数绘制天线二维方向图
2.天线阵及方向图的绘制
3.电磁超表面远区方向图的MATLAB绘制方法
4.Antenna Toolbox的应用简介

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

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

相关文章

高斯信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列、Gold序列和正交Gold序列)(代码见CSDN同名资源,博客中也有代码)

关注公号【逆向通信猿】更精彩!!! 一、伪随机序列PN码的生成 伪随机序列有很多种,如m序列、Gold序列和正交Gold序列,其中m序列的构造及MATLAB生成方法见: 线性移位寄存器序列(m序列)之MATLAB实现 m序列虽然性能优良,但同样长度的m序列个数不多,且m序列之间的互相…

信号处理系统综合设计-求解器函数的设计(连续和离散时间系统)

微信公众号:创享日记 发送:求解器 获取完整报告(含源程序代码结果分析) 一、在s域分析连续时间系统的方法 一个线性时不变连续时间系统可以用线性常系数微分方程描述,对系统的时域分析可归结为利用数学方法对该方程求解…

OFFICE2019精简安装D盘(包括Word、PPT、Excel,可根据需要调整)+VISIO2019+Mathtype7.4.0完美下载安装教程

经过笔者测试,64位的OFFICE2019、VISIO2019对MathType兼容性很差,时不时出现问题,且网上能查阅到的解决办法均不能很好地解决。 无奈之下换回32位的OFFICE2019,配合MathType7.4.0,简直完美,现将OFFICE 201…

仿知乎论坛社区社交微信小程序

微信公众号:创享日记 发送:仿知乎 获取完整源码(静态数据),导入微信开发者工具即可 说明:源码主要是前端,后端可自行开发 1、首页 问题列表 话题列表 触底加载刷新 2、问题列表及回答 3、发现…

商城小程序项目完整源码(微信小程序)

微信公众号:创享日记 发送:碰撞商城 获取完整源码详细注释(打开微信开发工具导入即可) 1、首页 ①搜索框可以点击搜索 ②轮播图可以点击跳转 ③功能模块可以自行开发 2、搜索 输入关键词会有推荐列表 UI可以自行设计得更漂亮 3、…

java 设计模式 示例_Java中的访问者设计模式–示例教程

java 设计模式 示例访客模式是行为设计模式之一 。 当我们必须对一组相似类型的对象执行操作时,将使用访问者模式。 借助访问者模式,我们可以将操作逻辑从对象移动到另一个类。 例如,假设有一个购物车,我们可以在其中添加不同类型…

电商商城小程序项目完整源码(微信小程序)

微信公众号:创享日记 发送:简商城 获取完整源码(导入微信开发者工具即可) 如果要较完整学习微信小程序云开发可以看看这个“云公开课”帮你了解完整的微信云托管部署流程,学习实战级的小程序开发。 1、首页 点击轮播图…

汉字查拼音微信小程序项目源码

微信公众号:创享日记 发送:查拼音 获取完整源码(微信开发者工具导入即可用) ①基本包括全部汉字 ②支持多音字 "治":["zh","ch"],"沺":["tin"],"油":["yu"…

高斯信道、单径Rayleigh信道和多径衰落信道下基带模型的多用户BFSK直接序列扩频系统MATLAB仿真(m序列、Gold序列和正交Gold序列)

结果预览 高斯 BFSK调制方式在采用m序列时,在高斯信道下的性能仿真结果如下: BFSK调制方式在采用正交Gold序列时,在高斯信道下的性能仿真结果如下: 单径Rayleigh 采用m序列时,在单径Rayleigh信道下的性能仿真结果如下:

随机抽奖转盘微信小程序项目源码

微信小程序:创享日记 发送:抽奖转盘 获取完整源码(微信开发者工具打开即可用) 可以容易自行修改,融入自己的项目里面。 function formatTime(date) {var year date.getFullYear()var month date.getMonth() 1var d…

简易计算器微信小程序项目源码

微信公众号:创享日记 发送:计算器 获取完整源码(微信开发者工具导入即可用) 以下可以忽略不看! 微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用…

MongoDB初学者教程

1. MongoDB简介 在本文中,我们提供了全面的MongoDB教程,该教程与基于Java的应用程序集成。 每当我们读到NoSQL数据库时,我们都需要知道为什么在SQL数据库运行良好时会开发它们。 NoSQL的基础是通过宽松的ACID (原子性,…

手势密码解锁微信小程序项目源码

微信公众号:创享日记 发送:手势密码 获取完整源码(导入微信开发者工具即可用) 以下可以忽略不看! 手势密码就是在手机触屏上设置一笔连成的九宫格图案,登录时画一下设定的图形。 运行程序,发…

带你一步一步实战分析缓冲区溢出漏洞攻击

关注公众号有惊喜【部分付费文章免费阅读,持续更新中…】 点击公众号底部【逆向杂记】可见 文件1 (A)描述此二进制文件提供的服务,不需要运行二进制文件来找出这一点。 (B)有可能对此二进制文件进行缓冲区溢出攻击,它在哪里?哪些…

【JavaSE】Java进阶知识一(泛型详解,包括泛型方法,协变,逆变,擦除机制)

目录 泛型 1. 什么是泛型 2.泛型方法 3.通配符上界(泛型的协变) 4.通配符下界(泛型的逆变) 5.泛型的编译(擦除机制) 泛型 泛型:就是让一个类能适用于多个类型,就是在封装数据结…

Python实验三:Python程序设计之组合数据类型

微信公众号:创享日记 发送:python实验 获取完整清晰报告和源码以及其它资源 前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击跳转人工智能学习…

Python爬虫和数据分析,石油原油加工产品产量数据处理分析

前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击跳转人工智能学习资料) 微信公众号:创享日记 发送:原油分析 获取完整无水印报告P…

Python实验二:Python程序设计之结构与复用

微信公众号:创享日记 发送:python实验 获取完整清晰报告和源码以及其它资源 前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击跳转人工智能学习…

基于x86汇编的飞机大战

运行结果 代码 ;宏定义一个显示函数(显示一组字符串) PUTS MACRO STRINGPUSH AXPUSH DXLEA DX, STRING ;LEA将内存地址的

Python实验四:Python程序设计之文件

微信公众号:创享日记 发送:python实验 获取完整清晰报告和源码以及其它资源 前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击跳转人工智能学习…