草庐IT

离散傅里叶变换

全部标签

快速傅里叶变换及其实现

第1章引言傅里叶变换(FourierTransform)是由数学家傅里叶提出的一套对函数进行变换的方法,其主要分为连续傅里叶变换(ContinuousFourierTransform,CFT)和离散傅里叶变换(DiscreteFourierTransform,DFT)两种,在本文中,我们只研究离散傅里叶变换。离散傅里叶变换虽然在数学层面很有用,但其算法的时间复杂度较高,在算法层面并不实用。继而,后续研究者又提出了快速傅里叶变换(FastFourierTransform,FFT)算法,这才彻底解决了问题。那么,离散傅里叶变换到底有什么用呢?它的用途十分直白:用于计算多项式乘法。多项式乘法早在中学

[概率论与数理统计]笔记:2.3 常用的离散型分布

2.3常用的离散型分布退化分布若随机变量\(X\)满足\[P\{X=a\}=1\]则称\(X\)服从\(a\)处的退化分布,这种情况下,随机变量退化成了一个确定的常数。两点分布定义若随机变量\(X\)只有两个可能取值,设其分布为\[P\{X=x_1\}=p,\quadP\{X=x_2\}=1-p,\quad0则称\(X\)服从\(x_1,x_2\)处参数为\(p\)的两点分布。如果\(x_1=1,x_2=0\),则称为0-1分布或伯努利分布,也称\(X\)为伯努利随机变量。性质当\(x_1=1,x_2=0\)时,有\(EX=p,\quadDX=p(1-p)=pq\),其中\(q=1-p\).两

[概率论与数理统计]笔记:2.3 常用的离散型分布

2.3常用的离散型分布退化分布若随机变量\(X\)满足\[P\{X=a\}=1\]则称\(X\)服从\(a\)处的退化分布,这种情况下,随机变量退化成了一个确定的常数。两点分布定义若随机变量\(X\)只有两个可能取值,设其分布为\[P\{X=x_1\}=p,\quadP\{X=x_2\}=1-p,\quad0则称\(X\)服从\(x_1,x_2\)处参数为\(p\)的两点分布。如果\(x_1=1,x_2=0\),则称为0-1分布或伯努利分布,也称\(X\)为伯努利随机变量。性质当\(x_1=1,x_2=0\)时,有\(EX=p,\quadDX=p(1-p)=pq\),其中\(q=1-p\).两

L 字形变换

L字形变换题目描述将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行L字形排列。之后,你的输出需要从左往右逐行读取,产生出一个新的字符串.请你实现这个将字符串进行指定行数变换的函数:convert(s:string,numRows:number)=>string比如输入字符串为"ABCDEFGHIJKLMNO" 行数为3时,排列如下:(-表示占位符)A--F--KB--G--LCDEHIJMNO输出:AFKBGLCDEHIJMNO行数为4时,排列如下:A---H---OB---I---C---J---DEFGKLMN输出:AHOBICJDEFGKLMN行数为5时,排列如下

L 字形变换

L字形变换题目描述将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行L字形排列。之后,你的输出需要从左往右逐行读取,产生出一个新的字符串.请你实现这个将字符串进行指定行数变换的函数:convert(s:string,numRows:number)=>string比如输入字符串为"ABCDEFGHIJKLMNO" 行数为3时,排列如下:(-表示占位符)A--F--KB--G--LCDEHIJMNO输出:AFKBGLCDEHIJMNO行数为4时,排列如下:A---H---OB---I---C---J---DEFGKLMN输出:AHOBICJDEFGKLMN行数为5时,排列如下

软光栅从零开始——MVP变换

前言在上一篇中,我们以正交投影的方式学习了如何绘制三角形,但在生活中我们眼睛看到的现象用正交投影无法解释。比如如果是正交投影,我们看到的铁道两个铁轨在视角上并不会交于一点,也就是两个铁轨的间距并不会随着离我们的位置越远,而变小,实际上这正是透视投影。因此,对于渲染摄像机理解为我们的眼睛,用透视投影来表示;而正交投影则主要用于主要用于二维渲染以及建筑工程软件如下右边是正交投影,左边是透视投影2d变换​ 开始之前,需要提醒一下,以下向量表示都是列向量缩放 沿主轴缩放反射 2维中围绕直线翻转对象错切(剪切) 不均匀地拉伸坐标空间。思路是将一个坐标的倍数添加到另一个坐标上旋转 二维中围绕一点旋转平移

软光栅从零开始——MVP变换

前言在上一篇中,我们以正交投影的方式学习了如何绘制三角形,但在生活中我们眼睛看到的现象用正交投影无法解释。比如如果是正交投影,我们看到的铁道两个铁轨在视角上并不会交于一点,也就是两个铁轨的间距并不会随着离我们的位置越远,而变小,实际上这正是透视投影。因此,对于渲染摄像机理解为我们的眼睛,用透视投影来表示;而正交投影则主要用于主要用于二维渲染以及建筑工程软件如下右边是正交投影,左边是透视投影2d变换​ 开始之前,需要提醒一下,以下向量表示都是列向量缩放 沿主轴缩放反射 2维中围绕直线翻转对象错切(剪切) 不均匀地拉伸坐标空间。思路是将一个坐标的倍数添加到另一个坐标上旋转 二维中围绕一点旋转平移

webgl 系列 —— 变换矩阵和动画

其他章节请看:webgl系列变换矩阵和动画动画就是不停地将某个东西变换(transform)。例如将三角形不停地旋转就是一个动画和CSStransform类似,变换有三种形式:平移、缩放和旋转。简单的变换用普通表达式容易实现,如果事情复杂,比如旋转后平移,这时就可以使用变换矩阵。普通表达式平移比如要平移一个三角形,只需要将三个顶点移动相同的距离即可(这是一个逐顶点操作)用二维向量表示,就像这样:[x1,y1]+[tx1,ty2]=[x2,y2]比如要实现如下效果:前面我们已经讲过三角形了,这里不再冗余,改动的核心代码如下:constVSHADER_SOURCE=`attributevec4a_

webgl 系列 —— 变换矩阵和动画

其他章节请看:webgl系列变换矩阵和动画动画就是不停地将某个东西变换(transform)。例如将三角形不停地旋转就是一个动画和CSStransform类似,变换有三种形式:平移、缩放和旋转。简单的变换用普通表达式容易实现,如果事情复杂,比如旋转后平移,这时就可以使用变换矩阵。普通表达式平移比如要平移一个三角形,只需要将三个顶点移动相同的距离即可(这是一个逐顶点操作)用二维向量表示,就像这样:[x1,y1]+[tx1,ty2]=[x2,y2]比如要实现如下效果:前面我们已经讲过三角形了,这里不再冗余,改动的核心代码如下:constVSHADER_SOURCE=`attributevec4a_

Opengl ES之矩阵变换(上)

前言说到矩阵变换,我们第一时间想到的就是大学时代的线性代数这些复杂的东西,突然有了一种令人从入门到放弃的念头,不慌,作为了一个应用层的CV工程师,在实际应用中线性代数哪些复杂的计算根本不用我们自己去算,绝大部分情境下直接使用Matrix这个类或者glm这个库即可。关于矩阵与向量的相关知识,矩阵的加减乘除等规则,这里就不展开细说,感兴趣的同学自行查阅线性代数即可,不过这些规则忘记了也没关系,反正有API可用。我们知道在Opengl中有很多中坐标系,在Opengl中矩阵的一大作用就是将坐标从一个坐标系转换到另一个坐标系下,同时还可以通过矩阵实现一些形变的效果,今天我们就使用矩阵的方式搭配Openg