- 博客(111)
- 收藏
- 关注
原创 COMSOL中液晶材料光学特性模拟
此外,当在材料的折射率中使用矩阵进行输入时,实际可以输入一个3×3的矩阵,在变量这一栏中你可以看到它被识别为折射率的对角矩阵。然后就可以通过矩阵的形式定义一个各项异性的材料。如果这个变量是一个固定值,那么它就是一个空间上不会发生变化的各项异性材料。COMSOL也可以根据相似的方法设置各项异性的周期性变化的材料。在给出的文件中,可以发现定义-变量中可以使用默认坐标作为变量,即xyz。在计算之后可以在结果中观察材料的各项异性,例如ewfd.nxx是x分量的折射率。而折射率转化为标准的对角矩阵的过程可以参考。
2024-05-31 20:01:33
499
原创 LC 旋转 - 模拟对象
原文链接液晶 (LC) 旋转网格属性允许您以 theta、phi 为单位指定空间变化的 LC 导向。液晶由杆状分子结构组成,这些分子结构具有相对于长轴的旋转对称性。因此,液晶具有空间变化的单轴光学特性。相对于分子长轴和分子短轴的折射率称为非寻常 n和寻常 n,见下图。旋转对称性使变换矩阵简化为两个旋转角度的函数 (θ,ϕ) 的函数。并且参考(或模拟)坐标系中的介电常数张量 (x,y,z)通过围绕 z 和y的旋转转换为主坐标系 (X,Y,Z)。
2024-05-31 19:40:51
777
10
原创 Symmetric and anti-symmetric BCs in FDTD and MODE
原文链接【DEEPL翻译的】只要电磁场有一个通过模拟区域中间的对称平面,就可以使用对称性边界条件。通过利用这种对称性,仿真体积和时间可以减少2、4或8的因素。本专题介绍了对称和反对称边界条件的区别,以及如何为你的模拟选择合适的边界。文档视频链接(youtube视频,有梯子才能看)对称性边界的场当电磁场有一个对称平面时,一些场分量必须在对称平面上为零。对称性边界条件是通过强迫适当的场分量为零来实现的。下表列出了每个对称性选项中为零的场分量。非零场分量显示在下图中。请注意,蓝色箭头是电场,绿色箭
2022-03-07 19:11:48
3308
原创 PyTorch基本数学运算
矩阵的加减乘(数乘)除(数除)可以使用符号+ - * /a+b a-b a*b a/b也可以写add sub mul divtorch.add(a,b) torch.sub(a,b) torch.mul(a,b) torch.div(a,b)//表示整除这样的运算是允许的,它会进行维度扩展矩阵的乘与除torch.matmul或者使用@mm不推荐,因为它只能处理2*2的对于高维矩阵,@与matmul会计算最后两维的乘法,前面的不进行改变。如果前面的值不对应会使用brodcasting进
2021-05-14 19:11:45
942
原创 PyTorch基本数据类型
PyTorch是没有string类型的,需要使用编码的方式来表达字符串。下图也可以看到数据部署到CPU与GPU的类型描述是不同的。type(a)查看a的类型isinstance(a,torch.FloatTensor),判断a是否为torch.FloatTensor类型,是返回Truedata=data.cuda()可以将数据部署位置变更为GPU标量 dim=0标量一般用在网络的最终输出,计算损失函数值生成维度为0的数据a=torch.tensor(值)#生成标量数据并赋给aa.sha
2021-05-14 19:11:03
1271
原创 PyTorch笔记01
PyTorch与TensorFlow都是深度学习框架。环境安装前面pycharm已经安装,而且安装了conda,这里不记录了。主要记录CUDA的安装,用于GPU加速计算,一般比CPU单独计算速度快50倍左右。这里要求显卡是NVIDIA显卡。下载地址如果链接失效,可以谷歌搜索CUDA download安装一律下一步,安装位置可以自己改一下。安装完成后在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin下找到说明安装成功,
2021-05-12 19:30:36
143
1
原创 matplib非线性化轴
问题回顾上一篇文章我们最终画到了这样的图这里我们知道它并非直线,但在图片中直接观察,我们看不到这样的效果。matplotlib给出了一些默认非线性化的轴,显然我的不适用。解决办法然后我就去查api了看不懂…但是多多少少还是有些收获,里面指出了非线性化轴的思想:对这个轴重新映射投影。例如:这样一组值:[1,10,20,50,80,100,500,1000] 我们使用一些非线性化函数来缩短他们值之间的差距。这里的非线性函数我使用的是x^n次方的反函数相当于y(1/n),选取奇函数大于
2021-05-11 12:49:07
1049
原创 线性回归的案例01
这里篇幅可能过长,单独拎出来水一篇。教程视频只有八分钟,我只是看了一下思路,然后自己写了两个小时才写出来,不断修错误,总算是出了和视频中结果近似的结果。问题描述根据上节课的一次方程:y=1.477x+0.089在这个方程的基础上添加噪声生成一百组数据,然后用线性回归的方法近似求取方程的参数。y=wx+b中的w和b整体代码废话不多说,直接先上代码#!usr/bin/env python# -*- coding:utf-8 -*-"""@author: Temmie@file: test
2021-05-10 15:13:01
513
1
原创 shell基础编程
.sh的就是shell脚本shell程序时以文件形式存放批量的Linux命令集合。该文件能被Shell解释执行。通常由一段Linux命令、shell命令、控制语句以及注释语句构成。shell脚本编写shell脚本是纯文本,可以使用任何文本编辑器编写。shell脚本通常以.sh为后缀。除第一行以外,其他行的#都表示注释。shell的第一行需要制定能程序来编译和执行脚本。一般.sh连接的是bash这个目录,多以第一行一般写#!/bin/bash变量变量名变量名必须以字母或下划线开头.
2021-05-09 18:17:02
232
原创 Linux系统管理
查看系统uname查询系统类型uname -r查看系统内核版本查看系统的一些硬件信息查看cpu的信息cat /proc/cpuinfo查看内存的信息cat /proc/meminfo查看日期date查看日期date -R查看日期并附带时区cal 年份 显示该年份的日历表date -s 年-月-日 设置系统时间年月日date -s 时-分-秒 设置系统时间时分秒查看磁盘、内存等使用信息df -lhdu -sh 目录路径显示指定的目录路径所占磁盘空间大小。
2021-05-08 20:00:11
114
原创 Linux基本命令
管理员以 # 开头 ,普通用户以 $ 开头清除屏幕 # clear账户设置创建用户 创建username(LINUX下每个用户都有密码) # useradd username设置用户密码 # passwd 密码切换到用户 # su - 用户 (管理员切换到用户不需要密码,用户切换到管理员要密码)...
2021-05-06 19:21:17
173
1
原创 数据库_Mysql基础——DQL
数据查询这是完整形式SELECT select_expr [, select_expr ...] [ FROM table_references [WHERE 条件] [GROUP BY {col_name | position} [ASC | DESC], ... 分组] [HAVING 条件 对分组结果进行二次筛选] [ORDER BY {col_name | position} [ASC |
2021-05-03 20:09:10
731
3
原创 数据库_Mysql基础——DML
对数据的操作增加数据不指定具体字段名给tbl_name插入值…,必须按照顺序。INSERT tbl_name VALUES(值...)现在有这两个字段添加列出指定字段字段顺序与值要对应。INSERT tbl_name(字段名称1,...) VALUES(值1,...)同时插入多条记录注意,每个括号内是一组值INSERT tbl_name[(字段名称...)] VALUES(值...),(值...)...通过SET形式插入记录INSERT tbl_name SET
2021-05-03 18:43:29
601
3
原创 数据库_Mysql基础——DDL数据定义语言
数据库查看警告SHOW WARNINGS;创建数据库语句{}中内容在使用语句时必须出现,方括号可以不出现。CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] db_name [DEFAULT CHARACTER SET = 编码格式] 例子:1.简单创建一个数据库 creat database(schema也可以) 数据库名称然后你可以在C:\ProgramData\MySQL\MySQL Server 8.0\Data(这是我的路径)下看到创建了一个文件
2021-05-02 20:14:44
333
1
原创 数据库_Mysql基础
数据库简介数据库 database就是存储数据的长裤,为了方便数据的存储和管理,将数据按照特定的规律存储在硬盘上,通过数据库管理系统,有效地组织和管理存储在数据库的数据。数据库系统 DBS比数据库大很多,由数据库、数据库管理系统、应用开发工具构成。数据库管理系统 DBMS用来定义数据、管理和维护数据的软件,它是数据库系统的一种重要的组成部分。我们这里使用的是MySQL。SQL 分为DDL数据定义语言;DML对数据增删改查等;DQL数据检索;DCL数据控制。...
2021-05-02 20:14:22
345
原创 机器学习-数据科学库(HM)-pandas部分
numpy可以处理数值型数据。pandas可以处理其他的数据类型。pandas对数值类型处理时,也是调用numpy。官方文档pandas常用数据类型Series 一维带标签的数组DataFrame二维,Series容器创建数组通过Series与列表创建一维数组import pandasa=pandas.Series([1,2,3,4])#默认第一列索引0到n-1b=pandas.Series([1,2,3,4],index=['a','b','c','d'])#索引设置为index中的内容
2021-04-28 19:18:49
309
原创 机器学习-数据科学库(HM)-numpy部分
numpy是python中做科学计算的基础库,重在数值计算,也是大部分python科学计算基础库,多用于大型、多维数组上执行数值运算。类似于matlab的数据方法。这里就不再详细解释,可以去查看一下我的matlab相关文章。创建数组(矩阵)创建一维数组两种方式:import numpya=numpy.array([1,2,3,4,5])b=numpy.arange(1,6)注意:虽然在print时,样子与列表很像,但它的类型是numpy.ndarray数据类型,设置与修改比也可能注意到
2021-04-27 21:30:42
545
8
原创 matplotlib——pyplot.plot绘制二维线图的常用代码示例
在这之前需要准备的官方文档英文的,有能力的可以自己阅读。大概用一用的话也可以看我的代码。下载并安装matplotlib至少你要下载matplotlib包,这个不多赘述,百度如何安装包的文章很多。在文件中导入在使用前记得from matplotlib import pyplot也可以from matplotlib import pyplot ad py这里as后的py是你随意定的,目的是方便书写。下面我在使用的时候会保持pyplot的写法,方便大家复制并避免阅读时出现障碍。准备数据
2021-04-26 21:48:04
1158
1
原创 机器学习-数据科学库(HM)-matplotlib部分
数据分析能够帮助我们从数据中分析出一些特征。数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。数据分析的流程设置环境matplotlib能够将视图可视化呈现。是仿照matlab的绘图方法的绘图库。官方文档的链接官方已经提示尽量不要用pylabpylab是,包括:模块matplotlib.pyplot,numpy,numpy.fft, numpy.linalg,numpy.random,和一些额外的功能,所有这些都在单个名称空间。它的最初目的是通过将所
2021-04-24 21:53:15
289
原创 Python基础知识-pycharm版-10
模块模块包含标准库模块(python默认提供的模块),自定义模块。模块化编程:便于将一个任务分解多个模块,实现团队协作开发,完成大规模程序。实现代码复用,一个模块实现后,可以重复调用。维护性增强。模块化编程的流程一般流程:1.设计api,进行功能描述。2.编码实现api中描述的功能。3.在模块中编写测试代码,并消除全局代码。4.使用私有函数实现不被外部客户端调用的函数模块。如何查看api,在import 包名 上,ctrl+鼠标左键可以进入包的源代码中查看。注释描述同样的,在模块写一些
2021-04-23 20:21:44
235
原创 Python基础知识-pycharm版-09
文件操作文本文件和二进制文件按文件中数据组织形式,我们把文件分为文本文件和二进制文件两大类。文本文件文本文件存储的是普通“字符”文本,python 默认为 unicode 字符集(两个字节表示一个字符,最多可以表示:65536 个),可以使用记事本程序打开。但是,像 word 软件编辑的文档不是文本文件。二进制文件二进制文件把数据内容用“字节”进行存储,无法用记事本打开。必须使用专用的软件解码。常见的有:MP4 视频文件、MP3 音频文件、JPG 图片、doc 文档等等。文件操作的一些模块
2021-04-22 22:16:37
1419
3
原创 python整活:虚假的聊天(接龙)机器
刚刚学了一些python文件读写的内容,先跑过来整活了。顺便复习一下之前学的东西。import timedoc_local='D:\learning_folder\interaction.txt'def iRead(): fr = open(doc_local, 'r') message=fr.read() return messagedef iWrite(message): fw = open(doc_local, 'w') fw.write(messa
2021-04-21 22:10:56
499
原创 Python基础知识-pycharm版-07
方法没有重载在python中严禁使用重名的方法。python中没有重载。如果重复定义,只有最后一个有效。私有属性和私有方法(实现封装)1.通常我们约定,两个下划线开头的属性是私有的(private);2.类内部可以访问私有属性(方法);3.类外部不能直接访问私有属性(方法);4.类外部可以通过“__类名__私有属性(方法)名”访问私有属性(方法)。方法的本质也是属性,上面的四条中属性的地方也可以换成方法例子:这是普通的属性在age前加了__使它变成了私有属性。这样外部就无法调用。如
2021-04-20 22:33:50
489
2
原创 Python基础知识-pycharm版-06
nonlocal 关键字nonlocal 用来声明外层的局部变量global 用来声明全局变量nonlcoal是针对于内部函数的,是在外部函数定义,内部函数可以使用的变量。例def outer_fuction() d=10 def inner_fuction nonlocal d#这样就可以使用外部函数的变量 a=d+1LEGB规则python在查找“名称”时,是按照LEGB规则进行查找。L:local函数或者类的方法内部E:Enclosed嵌套函数G:Global模块中的
2021-04-19 15:23:14
284
原创 Python基础知识-pycharm版-内容清单
这部分内容逐渐变多,这里列个清单,方便查找对应内容以下内容在 Python基础知识-pycharm版01在窗口栏使用python程序基本格式图形化程序设计python的程序构成行连接符对象引用标识符变量和简单的赋值语句以下内容在 Python基础知识-pycharm版-02链式赋值系列解包赋值常量基本的内置数据类型数字能进行的运算各种运算符整数、浮点数、布尔值、字符串不换行打印控制台读取字符串字符串格式化数字格式化类型转换获取时间以下内容在 Pytho
2021-04-18 17:26:35
454
原创 Python基础知识-pycharm版-05
循环结构接上一篇。for循环通常用于可迭代对象的遍历。注意,循环中的变量出来循环体外就会失效for循环格式:for 变量 in 可迭代对象: 循环体语句例:for x in (1,2,3,4,5): print(x)对于可迭代对象字符串,依次把字符串中字符输出。字典字典的键或字典的值字典的键对rangerange(start,end,step)start:起始值,不写默认0;end:结束值;step:步长,默认为1。for语句的else用法与whil
2021-04-17 21:00:59
1695
6
原创 Python基础知识-pycharm版-04
字典是无序可变序列,数据是成对存储的。每一对分为:键对象,值对象例如:a={'name':'temmie','age':'23'}然后通过a.get(‘name’)来找到temmie这个值键是任意不可变的数据,比如:整数、浮点数、字符串、元组。但是:列表、字典、集合这些可变对象不可以作为键。键不可以重复。重复的会被后面的覆盖。字典的创建1.使用{}创建字典2.使用dict()创建字典对象3.使用dict()与zip()创建字典4.使用fromkeys创建空字典a={'name':'
2021-04-16 22:19:27
1305
5
原创 Python基础知识-pycharm版-03
其他的运算符符号说明|按位或^按位异或&按位与<<左位移>>右位移~按位翻转注意:python中可以直接写1<a<3。bin()可将十进制数以二进制显示。移位时使用 a<<2 表示a 左移2位,相当于乘2*2。运算符的优先级:虽然有明确的规则,但实际上使用小括号来分隔即可,不必记忆。(乘除优先加减;位运算和算数运算>比较运算>赋值运算>逻辑运算)序列序列是
2021-04-15 20:30:59
456
原创 Python基础知识-pycharm版-02
链式赋值当多个变量是同一个值时,可以同时赋值。a=b=123#等价于a=123b=123系列解包赋值注意一一对应,个数必须相同。a,b,c=1,2,3#等价于a=1b=2c=3该方法也可以实现变量间的值互换a,b=1,2a,b=b,a这样输出结果就由原a=1,b=2变为a=2,b=1常量python实际上不支持常量定义,我们只是通过默认的命名规则提示自己这是常量。使用大写来表示常量CONSTANT_VALUE=1#大写就相当于常量,实际上它依旧可以被更改基本
2021-04-14 22:37:52
1473
4
原创 Python基础知识-pycharm版01
在窗口栏使用python1.win+r调出命令窗口栏2.输入cmd3.输入python4.输入python代码>>为提示符。关闭交互窗口的方法:1.ctrl+z回车 2.quit() 回车 3.直接右上角叉号中断程序执行:ctrl+c不要在python中随意添加空格,空格在python中通常含有缩进的含义程序基本格式import turtlet=turtle.Pen()for x in range(360): t.forward(x) t.left(59)
2021-04-13 21:37:41
752
5
原创 感知器学习算法
带偏置的感知器网络如下:算法流程初始化随机生成权重,正负均可训练执行T次循环 其中对于每一个输入向量: 用激活函数g计算每一个神经元j的激活状态其中yj是神经元j的激活状态(0或1),g是激活函数,wij是i输入与j神经元连接的权重,xi是i输入的值。 更新权重η是学习速率,是权重变更快慢的一个度量,一般取0.1-0.4之间,yj即当下训练的神经元状态(0或1),tj是训练集中对应的正确结果(0或1),xi是i输入。如果训练的yj与tj相同,则这个权重是正确的,就不需要更改。
2021-04-04 21:03:24
672
原创 神经元、神经网络和线性判别
参考《机械工业出版社的matlab》与《机器学习与机器学习算法视角》数据:数据用于训练系统。当收集数据用于训练时,必须保证能够正确理解系统随时间的变化。如果系统结构随时间变化,这可能有必要在训练系统前丢弃旧数据。模型:模型提供了一个用于学习的数学框架。模型是由人类基于自己的观察和经验衍生出来的。训练:系统需要训练以将输入映射到输出。当使用足够多的训练数据时,引入新的输入才能产生正确的输出。...
2021-04-04 21:03:04
505
原创 用于机器学习的Matlab的数据类型
矩阵相关函数功能zeros零矩阵ones全1矩阵eye单位矩阵rand/randn随机数矩阵isnumeric判断是否为数值型矩阵isscalar判断矩阵是否为1*1size返回矩阵大小元胞数组matlab特有的一种变量形式,可以将任何类型的数据存储在其中。元胞数组使用{ }表示其他的写法同矩阵。可以使用cell函数来初始化元胞数组。使用celldisp显示元胞数组内容。函数功能cell初始化元胞数组
2021-03-29 14:58:14
496
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人