- 博客(53)
- 问答 (3)
- 收藏
- 关注
原创 利用simlink转化HDL-verilog
例如设计一个正弦信号发生器,里面用到了add、memory、relation operator、switch、constant、cos模块,cos模块选择了cordic算法,使用cordic那么输入值的范围为【-2pi,2pi】,超过则错误,memory起到累加的效果,in1是每次累加的值,当累加值大于2pi则将其变为in1-2pi,这是因为cosx=cos(x-2pi)设置定点小数这里选择了有符号32位,20位小数,表示为sfix32_en20,例如对模块2*pi设置,如下。转化成功后会输出如下。
2023-12-07 16:01:55
648
1
原创 FPGA运算
算数运算中,输入输出的负数全用补码来表示,例如用三位小数位来表示的定点小数a=-1.625和b=-1.375。那么原码分别为a=6b‘101101, b=6'b101011, 补码分别是a=6’b110011,b=6‘b110101;如果想在fpga中实现a*b,则需要将a和b用补码来定义,a*b得到11’b00010001111(正数补码就是原码);根据定点小数运算规则,现在是6个小数位,1个符号位和4个整数位,所以a*b=10.001111=2.234375。
2023-11-10 15:41:52
523
原创 verilog定点小数乘除
除法类似,取a=36.8=16h'24cc,八位整数八位小数,b=14.3=8h'e4,四位整数四位小数,a/b实际值为2.573426573;verilog计算为8‘h29,四位整数四位小数,二进制加小数点为10.1001转10进制为2.5625。八位整数八位小数,c=a*b,c=16‘h845c,化作二进制为1000010001011100,加上小数点为10000100.01011100=132.359375。a=12.35,b=10.8,取四位整数,四位小数,a=8'hc5,b=8'hac;
2023-10-26 09:27:04
980
原创 duffing方程matlab绘制
此时可通过更改f的值从0到1来改变duffing混沌系统状态,从固定点状态,小周期状态,混沌状态到大周期状态。k,a,c,f为自定义系数,将初值设为。上图横坐标x,纵坐标x的一阶导数。上图横坐标为时间t,纵坐标x。
2023-09-08 08:22:54
1199
2
原创 动态测试数据处理
动态测试数据:1、确定性数据:能够用明确的数学表达式进行描述的数据称为确定性数据。Ⅰ、周期数据Ⅱ、非周期数据2、随机性数据:无法用明确的数学表达式表述;若在一个动态实验中无法在合理的误差范围内对其进行预测未来时刻的测试结果数据那么称该动态实验数据为随机性数据。
2023-06-08 10:14:32
954
原创 回归分析处理
对于某数据量有呈线性关系的输出量,且,现有对这些数据量的采集序列,这些采集量会存在随机误差,线性回归的目的便是找到保证使误差最小的情况下的回归系数。即通过下列方程组求可利用最小二乘法,先获取正规方程:系数矩阵为误差向量为回归系数向量为输出向量为正规方程为,由于,故。由此得到回归系数。对于不等精度测量,只需在误差向量前乘上权值向量即可。
2023-06-07 17:24:33
649
原创 测量不确定度
相同点:都是评价测量结果质量高低的重要指标,都可以作为测量结果的精度评定参数。不同点:测量误差是结果与真值之差,以真值为约定中心;而不确定度则是以估计值为约定中心,因此误差是一个理想的概念,一般不能准确知道,而测量不确定度是反映人们对测量认识不足的程度是可以定量评定的。
2023-06-02 17:58:29
1333
原创 Qt自定义控件仪表盘
将仪表控件扔进子线程运行,先new一个仪表,再定义它的几何大小,然后调用其startPainting函数开始绘制。仪表的接口分别为 开始绘图 设置当前值 设置区间个数 设置轮廓大小 设置分隔符大小 设置起始值 设置数字大小 设置文本大小 设置当前值大小 设置文本。
2023-05-10 11:22:43
636
2
原创 向量和矩阵的backward
并且y的backward中的参数要和y的维数相同,并且某个变量的梯度是要和自身维数相同的。和backward中的参数张量[[1,2],[2,3]]相乘得到的。乘以backward中的参数张量[[4],[5]]得此结果。只需把m*n维的矩阵x看成m个向量分别作为输入即可。矩阵A和矩阵B相乘后对A求偏导得B,对B求偏导得。backward一下。
2023-04-16 15:01:45
165
原创 nn.Linear
view(2,3*3),然后输入进linear中,可以看到输出out维数为(2,9),同时利用parameters查看w和b,最后通过ans = torch.matmul(x1.view(9), w[0]) + b[0]可以发现与out[0][0]相等,从而验证了前面的结论。在神经网络全连接层中常常用到类对象Linear,共有两个参数,分别是输入的特征数量和输出的特征数量,该类会根据输入和输出的维数来创建w矩阵和b,假设输入为(1,n)维x,输出为。
2023-04-15 16:33:10
652
原创 pytorch简单线性回归
对于带有扰动的y(x) = y + e ,寻找一条直线能尽可能的反应y,则令y = w*x+b,损失函数。loss = 实际值和预测值的均方根误差。在训练中利用梯度下降法使loss不断减小,便可以最终找到。
2023-04-13 19:50:15
77
原创 awk练习
首先for循环把除空格外的所有字符串取出,然后定义j,当循环遍历到ens33后就将j=1,当j=1并且匹配到inet字符串后便输出下一个字符串,然后去除该字符串的端口号即可。注意需要对()进行转义。
2023-04-02 11:24:02
116
原创 ANSYS MESH
对于固体在有圆弧及孔洞的地方应该加密网格,因为这些地方存在应力集中;对于流体要在壁面涉及传热、结构突变时进行局部加密或建立膨胀层。应力集中:物体形状发生急剧变化的地方,如孔洞、沟槽处,容易产生应力局部增高的现象。
2023-03-28 21:18:41
8115
4
原创 linux fork创建子进程
程序执行遇到fork函数会创建子进程,若创建成功,则在父进程中的fork函数将会返回子进程的进程号,而子进程的fork函数会返回0;否则在父进程中fork返回-1。创建好子进程,两个进程会开始运行相同的程序(从fork那里开始运行)
2023-03-25 09:57:47
314
原创 linux fcntl stat
其中文件属性存储与一个叫位图的数据结构当中,若想要往已有的属性flag里面添加新属性,只需对flag执行按位或即可,如添加属性O_CREAT,则。若flag=-1则获取文件属性失败,否则会得到文件属性flag。若flag为-1则设置文件属性失败,否则成功。该函数用来获取文件属性,或更改文件属性。
2023-03-19 09:29:50
88
原创 Linux open read write函数
每次调用read或write会直接进入内核态(内核态有个4096大小的缓冲区)并在内核缓冲区中操作,当缓冲区被填满或为空时会自动向磁盘写入或读出。这些函数具有不可移植性,只能在unix下运行,同时相比于c标准函数库中的fopen、fread、fwrite。这些函数都属于系统调用函数,是用户与内核操作的接口,需要包含头文件。没有属于用户态的缓冲区(缓冲区大小为4096)
2023-03-18 17:07:29
125
原创 makefile动态库生成可执行文件练习
建立inc目录存放.h文件,src目录存放.c文件,obj目录存放.o文件,dynamicMakefile目录存放.out文件和.so文件以及makefile要求有以下三个.c文件(sum.c,sub.c,mul.c)生成动态库并由mathTest.c调用。
2023-03-18 13:52:07
212
原创 vim基础操作
1、dd:删除一整行2、ndd:删除光标下n行3、x:删除光标处字符4、dw:删除光标处单词5、D:删除光标所在行,从光标处至行尾信息6、d$:删除光标所在行,从光标处至行尾信息7、d0:删除光标所在行,从行首至光标处信息。
2023-03-15 10:52:46
137
原创 QML练习---1,切换多层窗口
在主窗口中定义一个按键,点击后会弹出子窗口A,子窗口A中有退出按键,点击生成模态消息框B,里面有两个按键分别是确定退出和取消退出。
2023-03-12 08:54:49
919
原创 FLUENT MESHING——01
可选择导入单一文件,文件后缀有pmdb与scdoc等,在曲面细分(Tessellation)有Faceting方法,该方法速度快精度低,导入后会出现在Geometry Objects下,与Surface Mesh方法,该方法相对来说精度更高,导入后出现在Mesh Objects下。在Size Functions中分别为对曲率和狭缝划分函数,对曲率是根据角度来划分,主要针对曲面和边界面处的网格,效果就像在边界面处的网格就会非常密集,角度越小精度越高,而狭缝则会根据per gap来划分狭缝中的网格层数,越大精度
2023-03-08 15:22:35
3122
1
原创 QML与C++交互
首先定义类对象时需要继承QObject,同时要包含头文件#include ;对于成员变量,可使用 alt+回车 自动生成两个成员函数,分别是返回变量值与设置变量值,并需要添加关于该变量改变所触发的信号函数如对私有成员变量int m_num,利用宏定义函数其中num为在QML中的变量名,m_num便是该类变量名,numChanged为信号函数名信号函数的作用是为了实现在qml中的动态绑定同时,若想在qml中使用c++类对象成员函数,可在函数前声明宏Q_INVOKEABLE,如。
2023-03-04 16:17:27
295
原创 QT子线程注意事项
在使用继承QThread方法重载run函数时,只有run函数内部在子线程中,其他成员函数,包括在run中connect的槽函数都不会在子线程中执行,而是在主线程中执行。
2023-02-24 14:19:42
105
原创 C++ 重载运算符++
原因由于采用单例模式,使用类的指针来进行类的操作,对于第三个输出,是因为++p并没有对类对象进行++,而是对类对象的指针进行了++
2022-07-27 09:12:11
510
原创 MatLab图的最小路径(邻接矩阵表示)
使用邻接矩阵表示有向图或无向图,对其进行最小路径的查询以及权值计算采用递归算法,首先定义输入参数有邻接矩阵、起始点、终止点、已走完的路长、当前已知最小路长;首次进入函数内部,会默认顶点与终止点的长度为最优长度,最优路径为当前顶点。即随后会判断已走完的路长加上当前最优路长的值,是否会小于已知最优路长,若小于,则更换掉已知最优路长。其目的在于每次进入函数都会保证已知最优路长的更新来辅助下方操作。...
2022-07-25 08:32:49
1833
原创 Pandas rolling
window、min_period、center、closed、win_type、method、axis对于dataframe,window的用法是输入一个int型或者offset,以下以int类型为例就是在默认axis=0、center=False时,如果window=n,就从第一行开始,每行取自己和前面n-1个数据,然后这几行就成了一个窗口(window),然后就可以对每个窗口进行一些像sum、mean的操作,比如先建立这样一个dataframe然后对他rolling,会返回一个这个
2022-07-04 20:52:15
797
原创 排序算法c
排序方法的分类:按存储介质可分为 ·内部排序:数据量不大,数据在内存,无需内外存交换数据 ·外部排序:数据量较大,数据在外存按比较器个数可分为 ·串行排序:单处理机(同一时刻比较一对元素) ·并行排序:多处理机(同一时刻比较多对元素)按主要操作可分为 ·比较排序: 插入排序、交换排序、选择排序、归并排序 ·基数排序: 不比较元素大小,仅仅根据元素本身的取值确定其有序位置按稳定性可分为: ·稳定排序:数值相同的元素
2022-06-24 11:31:06
90
原创 二叉排序树
二叉排序树的特点为:根节点的左子树所有节点关键字都要小于根节点关键字,右子树所有节点关键字都要大于等于根节点关键字;且对任意充当根节点的节点都满足其时间复杂度和树的均衡程度有关,树的分支越均衡则事件复杂度越低即与树的深度有关,最好的情况下为O(log2,n)最差的情况为单支树,O(n)则根据时间复杂度可引入平衡二叉树,即对于每个节点都设立bf因子,bf=左子树深度-右子树深度只有每个节点bf的绝对值都...
2022-06-24 11:27:53
500
原创 python迭代器相关方法
首先最主要的有两个方法,生成迭代器iter(),执行迭代next()凡是可迭代对象,如字典、列表、元组、字符串···都可以使用iter来生成迭代器,其返回类型为iteration。其中,若对字典进行iter,则会将其键生成迭代器,如下:也可以用循环体对迭代对象进行输出迭代器生成式类似列表生成式,只需将[]换为()即可............
2022-06-21 16:51:01
438
空空如也
流体力学中管道出口压力的计算
2024-03-18
对于自治系统的微分方程组的线性变分方程
2023-09-12
遗传算法的交叉和变异操作
2023-07-20
c++网络编程使用libevent
2023-06-02
vim插件安装coc问题
2023-03-07
ubuntu设置中文输入法
2022-09-01
matlab prctile
2022-07-09
anaconda相关问题
2022-06-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人