自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(733)
  • 资源 (2)
  • 问答 (3)
  • 收藏
  • 关注

原创 光学仿真小作品集

本文将展示一些作者本人平时自制的光学仿真小作品。

2023-04-20 08:24:55 494

原创 000---专栏目录

100个numpy问题链接1. 查看当前使用的numpy模块的版本号

2020-11-16 19:00:00 277

原创 IPKISS ------ AMF 添加自定义层

很多时候,我们想要添加属于我们自己的层,此时我们需要向。然后我们就可以在程序中定义属于我们自己的层了。

2024-05-24 16:47:37 4

原创 Lumerical ------ 仿真结构网格尺寸设置

中,为了得到精确的结果,我们需要设置仿真时网格的尺寸,虽然尺寸越小精度越高,但是对于实际问题,我们需要平衡仿真速度,仿真内存占用量和仿真设备能力之间的关系。这里我们重点来说明一下,得到仿真正确结果时能够设置的最小网格尺寸问题。进行网格重写,然后设定我们所需的网格尺寸即可。最简单的设置方法就是为当前结构添加一个。我们设仿真时的入射波长范围为。

2024-05-22 13:45:28 15

原创 sin^2(x) 的图像

[TOC](sin^2(x) 的图像)

2024-05-15 10:59:20 136

原创 已知线段两个端点和端点距离线段上未知点的距离,求位于线段上该点的坐标(位于线段上点坐标的加权表达式)

这里记录一个初中问题,我印象中初三的时候我一口就能说出答案的式子,现在竟然突然想不通了,这里特来记录一下。关于这个问题,有很多种解法,这里我们特来介绍一种比较特殊的表示方法,可以直接写出。的坐标,但是(4)式也很复杂,且不够直观。于是我们可以使用一个。习惯这种表达方式后,可以直接写出点。如上图所示,如果我们已知两个点的坐标。位于它们的连线上,如果我们知道点。首先,我们可以很直观地表示出。此时,我们已经成功获得了点。对它的形式进行更改。

2024-05-15 09:58:36 1016

原创 Continuity Types(连续性分类)

连续性) 表示两个曲线在结合点位置处两条切线的斜率必须一致,即切线的方向一致,或者说切向量一致。今天看文章的时候遇到了一个关于连续性的说法,这里特来记录一下。连续性) 表示两个曲线的结合点必须在同一个位置。连续性) 表示两个曲线在结合点位置处两个矢量的。

2024-05-14 16:17:48 164

原创 给定两点所能得到的数学关系

这里介绍一个基础问题,如果给定平面上的两个点的坐标,那么它们之间能够得到什么数学关系呢?提及这个事情的主要原因是为了说明后面的问题做准备。

2024-05-14 15:45:23 862 2

原创 1 / sqrt{1 + tan^2{theta}}

这里简单推导一下这个式子。

2024-05-14 14:41:21 770

原创 A right bisector of a line segment

今天读文献时遇到了一个说法,特来记录。中文翻译,线段的垂直平分线,这里的。不是右侧的意思,而是垂直的,

2024-05-14 13:48:10 220

原创 Python Vector 操作

我们知道,平面内矢量叉乘方向是垂于与平面的方向,因此,二维矢量叉乘得到的结果是一个数,而这个数实际上的意义是其他两个方向为。由于减法与加法互为逆运算,减法也可以看作是加上也给负数,因此,矢量减法的做法可类比上述矢量加法。显然,简单的数组相乘并不等同于矢量点乘,少了一步求和运算。中的数组本身就可以看作是一个矢量,因此,矢量加法就是数组简答地相加。中,我们可以很容易得到结果,这里特来介绍一下。模块用法的可以学习本人专栏 -------作为编程语言,这是因为不同于其他编程语言,中有更简单的方式------

2024-05-14 10:35:02 505

原创 Lumerical ------ 波导仿真包层设置

来求解波导的有效折射率,此时求解出的结果一定是错误的。这一点儿属于新手常见错误。工程文件中创建了一个直波导对象,此时,我们并没有设置包裹层,且我们创建了一个。在推荐阅读中,我们解释了仿真时为什么要添加包裹层。下面是仿真的一种常见错误。包层中,再次进行仿真,就可以得到正确的结果了。

2024-05-13 10:46:03 536

原创 Lumerical Script ------ 产生错误提示信息并中断执行

产生错误提示信息并中断执行操作的指令。这里我们提供一种使用。如果不满足要求,则提升一个输入错误,并中断程序的执行。这里,我们输入一个数据,我们要求输入的参数值小于。通过这种操作,我们可以在书写我们的。时加入一些即时的反馈,放置程序的。通过上述方法,我们就可以实现类似。

2024-05-13 09:35:37 230

原创 Lumerical Script ------ 保留有效数字位

那么遇到需要保留有效位的情况该如何做呢?这里我们以保留六位有效数字为例。比如我们这里有两个很长的小数被放在。类型转换为字符串来实现小数位数的保留,最后再从字符串类型转换为。变量中,然后我们可以采用如下代码替代。这里我们给出两种方法来解决这个问题。

2024-05-11 11:12:09 26

原创 Lumerical Script ------ Functions

已经有了介绍,但是实际使用的时候还是有一些需要注意的问题,这里特来记录一下。我们需要将它们组合成一个数组。关于数组类型数据我们在。只能返回一个值,如果此时我们想要同时返回。

2024-05-10 14:58:50 100

原创 Lumerical Script ------ array 数组类型 和 matrix 矩阵类型

中,数据类型不是特别丰富。这里我们介绍它数据类型中的一种,数组类型。且同时,如果我们想要访问数组中的数据,我们需要通过索引值来访问,类似。这篇仅仅用作个人笔记,因为作者本人比较擅长。我们可以通过以下方式创建一个数组。函数对目标对象的值进行打印。序列解包的写法,即下面的写法是。脚本,但是又不太一样。

2024-05-10 14:09:00 78

原创 给定两个点坐标和半径,求圆心位置(Python 代码完美实现)

【代码】给定两个点坐标和半径,求圆心位置(完美代码实现)

2024-05-09 16:08:36 53

原创 给定两个点坐标和半径,求圆心位置

这里,我们不做过多的推导过程,后续有时间了作者会添加,这里直接上结论。圆形的坐标可以通过以下等式求出。如果我们事先要求,圆心位于两个点连线的左侧,那么圆心坐标就唯一了。有了 (2)-(7)式,将它们带入(1)式中,即可得到最终的结果。今天在做项目的时候遇到了一个问题,当给定两个点。由此,我们得到两个可以满足要求的圆心点,一个为。的时候,该如何确定圆心的位置。最后我们可以根据上面的过程通过。编程来实现求解圆心坐标。

2024-05-09 15:14:56 144

原创 二维平移矩阵 (2D translate matrix)

之前我们介绍了矢量旋转矩阵的形式,这里我们来介绍一下平移矩阵的形式。比如,我们我们有一个点,其坐标为。这里我们以向右移动一个单位为例。只是,对于最终的结果,我们只需要提取前两行即可。那么我们如何操作才能够将这个点沿着。点上时,就可以实现单点的平移操作。当我们将 (1) 式作用在。可以看到,此时,我们将。

2024-05-09 11:13:54 127

原创 给定矢量初始位置,旋转角度,求解最终位置

可以看到,我们得到了最终矢量的坐标。如果我们将这个矢量正向旋转。这里如果我们给定一个矢量。度,该矢量新的末端坐标。

2024-05-08 17:17:29 277

原创 矢量旋转矩阵

一般情况下,我们遇到的旋转矩阵都是 anti-clockwise rotation matrix,即逆时针旋转矩阵。那么有些小伙伴们可能就会问了,顺时针旋转矩阵的形式应该是什么样子呢?很简单,只需要把参数。

2024-05-08 17:07:20 307

原创 Matplotlib ------ autoscale_view()

的分别对用是否使用 tight 模式来排布图形,是否在 x 与 y 方向进行自动优化显示范围。显然,默认的坐标轴尺度放不下我们的物体,因此只显示了部分物体,为了能够显示整个物体,我们可以使用。,后来查询了资料发现这个函数非常好用。这样就避免了我们每次要根据图像大小的不同手动设置。今天,在绘图的时候遇到了一个函数叫做。比如,我们想要绘制一个长为。根据我们最开始的用法说明,,我们使用时可以直接写。

2024-05-07 14:00:40 33

原创 Python 正则表达式 (?=...) 和 (?<=...) 符号

内部表达式(匹配的内容)必须是固定长度的,意思就是。注意,以肯定型后视断言开头的正则表达式,匹配项一般不会位于搜索字符串的开头。匹配时,匹配成功,但不消耗字符串中的任何字符。的匹配内容出现在当前位置的左侧,则匹配。这叫做 肯定型后视断言。为了实现这一目标,我们可以采用刚才我们提到的后视和前视。今天遇到了一个比较棘手的问题,于是终于打算要对正则表达式中的。符号可以被替换为任意的符号,这里为了方便说明问题,我们将。字符,但是由于它是前视断言,即向前搜索,而我们的匹配项中。可以看到,此时,结果中包含了两端的。

2024-05-07 11:52:09 363

原创 Python 正则表达式 *, + 和 ? 符号

符号类似于贪婪模式,会尽可能匹配到所有能够匹配到的字符。到任意次重复, 尽量多的匹配字符串。上述的结果显而易见,当字符串为单个字符。结果显而易见,这里不做过多解释了。对它前面的正则式匹配。对它前面的正则式匹配。对它前面的正则式匹配。

2024-05-07 10:58:46 234

原创 Python 正则表达式 (...) 符号

我们这里做一个延申,如果要匹配到上述整个字符串该怎么办呢?中的字符串数量从三个到四个时,就匹配不到任何结果了,因为。,显然它可以匹配除了 \n 字符以外的任意三个字符的组合。有些小伙伴可能会问,那既然没有意义,为什么还需要使用。符号在正则表达式中的用法,其用来匹配除了。会匹配到后面的三个字符。对比上述所有示例,我们可以看到,对于。用来匹配括号内的任意正则表达式。很明显,也匹配到了开头的三个字符。字符以外的单个字符。显然,匹配到的是开头的三个字符。,因为当匹配的时候我们开头有了。,最终将二者的组合字符串。

2024-05-07 10:42:48 367

原创 Python 正则表达式 re . 符号

字符串,无法完成匹配,对于其他字符串可以进行匹配。且会获取到第一个能够匹配到的对象。:(点号) 在默认模式下,匹配除换行符以外的任意字符。,它将匹配包括换行符在内的任意字符。

2024-05-07 10:11:50 304

原创 Python 正则表达式 re.findall()

扫描整个 字符串,找到所有满足匹配样式的字符,将它们集合在一起以列表形式返回。其中这个返回的列表包含空的结果(没有匹配到的结果)。通过这种匹配方式,我们成功地找出了一个字符串中的所有数字对象,并将它们集合起来作为一个列表对象进行了返回。然而事与愿违,我们获得的是四个独立的数字,怎么办呢?当我们找不到匹配对象时会返回一个空的列表对象。可以看到,我们成功地获取到了我们需要的数字。我们是想通过匹配获取。函数的用法说明一致。

2024-05-07 09:59:10 342

原创 Python 正则表达式 re.match() 和 re.search() 方法

扫描整个 字符串,找到匹配样式的第一个位置,并返回一个相应的 匹配对象。如果没有匹配,就返回一个。该函数在字符串的起始位置处进行匹配,若匹配到则返回该值,若没有匹配到,则返回。并不处于被匹配字符串的起始位置,因此匹配不到,所以返回值为。可以匹配到,但是不在字符串的起始位置,仍旧会返回。可以看到,我们成功地在字符串起始位置处匹配到了字符。注意这和找到一个零长度匹配是不同的。时,会匹配到从左向右的第一个字符对象。时,即使需要被匹配的字符串中含有。函数时我们成功地匹配到了字符。函数的用法说明一致。

2024-05-07 09:54:58 255

原创 Numpy ------ 复杂对角矩阵的生成

从结果中可以看到,我们成功得到了我们想要的复杂对角矩阵的形式。那么该如何理解这个过程呢,这里我们分步对这个问题进行分析。将它们进行加和后就可以得到最终的结果。上述两个结果是很好理解的。模块生成如下的复杂矩阵。

2024-05-07 09:19:32 32

原创 Python 正则表达式 re.sub()

中的第一个参数是需要被替换的字符或字符串,第二个参数是要被替换成的字符或字符串。这两种方法本质上都是。表示的是字符串中需要替换的字符或字符串,而不是要替换成的字符或字符串。至此,我们完成了正则表达式的替换说明。时都会遇到字符串替换的问题,除了使用内置函数。方法外,这里特来记录一下正则表达式的用法。方法的返回值才是替换后的字符串。也很好处理,只需要把被替换字符变为。方法不改变原始字符串变量的值。我们想要将这个字符串中的字符。相信很多小伙伴在使用。,我们该怎么操作呢?

2024-05-07 09:05:58 500

原创 Si3N4 波导

相比于传统的互补金属氧化物半导体(CMOS)基础设施可以实现大体积的光子学集成。范围内都可以实现很低的损耗。可以实现的波导损耗位于。波导,在光子学器件中具有很大的优势。的损耗,且它的损耗小于。

2024-04-25 17:38:31 125

原创 Python 旋转数组中的元素

今天遇到了一个实际问题,旋转数组中的元素,这里特来记录一下。

2024-04-25 16:38:40 42 1

原创 Process in Semiconductor(半导体工艺)

看到这个词组大脑一片空白,不知所云,于是查找了相关信息记录一下。可以表示结尾,末尾,而这里它表示的是端面。今天看文章时遇到了一个问题,

2024-04-22 13:38:17 222

原创 Si 和 SiO2 的特征折射率

的折射率通常在 3.42-3.48 之间。的折射率通常在 1.45-1.55 之间。

2024-04-16 15:09:28 56

原创 Lumerical Script ------ savedata and loaddata

如果我们想要将这个数据再次读入 Lumerical 中进行操作,需要使用。运行完成后,我们就会在当前工程文件目录下得到一个名为。中,如果我们在仿真结束后想要保存数据,应当使用。:我们无需添加文件的后缀名。

2024-04-12 11:44:53 57

原创 2x2 光学器件的 S-Matrix

然而上述是不包含反射和反向传输时的情况,如果考虑器件包含反射的情况,那么。端口反射出的光波振幅之间的关系。端口反射出的光波振幅之间的关系。端口透射出的光波振幅之间的关系。端口透射出的光波振幅之间的关系。端口出的光波振幅之间的关系。端口出的光波振幅之间的关系。端口出的光波振幅之间的关系。端口出的光波振幅之间的关系。光学器件,这里我们以一个。的光学器件的传输矩阵就有。后续的参数以此类推。

2024-04-07 09:29:32 264 1

原创 IPKISS ------ 查看器件默认端口名称

实际是我们实例化器件的名称,并不是端口名称,因此,如果我们更改器件实例化的名称,图上的。但是这里需要注意一点,如果我们想要引用这些端口,比如端口名称更改时,端口的引用必须写为。会认为我们打开了器件所有端口的名称标记。个人吐槽,这真的很奇怪,IPKISS 的设计应该在图上把端口名直接变为。才对,否则,还要让用户去判断区分真的很不方便。这一点儿要在实际使用中特别注意。这是因为,本例中我们实例化。向上述代码一样,我们只需要注释掉。也会跟着变化,也就是说实际上,

2024-04-03 17:38:58 62

原创 IPKISS Tutorial 目录(持续更新中)

IPKISS ------ 版图绘制框架模式 i3.CircuitIPKISS ------ ChildCellProperty() 和 Grating Coupler

2024-04-03 17:19:07 45

原创 IPKISS ------ 版图绘制框架模式 i3.Circuit

很明显,字典变量名称是可以任意取名的,只需要与。中绘制版图时,如果版图的组件都已经生成了完整的。函数中实例化组件的端口名称,比如这里,原始。有细心的小伙伴可能会发现你上面写的不是。, 为了方便,我们直接将它们重新改名为。为什么下面的字典变量名称是。后面的后面的名称保持一致即可。类,那么此时,我们可以使用。架构来完成我们的版图布局。默认放置函数,用户可以设置。的原因是为了与函数名称。函数中实例化组件的位置。默认端口函数,用户可以设置。提供的默认字典名称为。

2024-04-03 17:15:53 72

原创 IPKISS ------ ChildCellProperty() 和 Grating Coupler

中可能存在的默认参数进行更改。经过本人的测试发现,事实上,直接赋值。虽然代码行数上会变得更长,但是会避免很多不必要的错误。进行创建和布局,因为器件已经存在,可以将它看作是当前。保持一致,如果我们改变了变量名称,比如。但是,这种写法存在弊端,我们可能无法对。创建它,但是因为这里我们没有设置。中已经存在的器件,我们可以使用。,因此,一定要写成使用函数赋值。后面的名称必须和我们定义的。定义的时候也可以直接设置。的这种写法,当结构复杂时,新手最容易犯的错误就是。语句中忘记末尾的小括号。,读者可以自行尝试。

2024-04-03 16:37:44 132

numpy100.zip

用于100个numpy问题25-100相关数据集合,本数据集合仅粉丝可以下载,并且仅 应用于numpy的教学教学目的,请不要过度传播

2020-10-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除