around

现代法谱估计(1)Yule Walker 方程法MATLAB及Python实现

笑着哭i 提交于 2020-08-19 22:14:35
原理 AR模型的系统函数可以表示为: 如果在白噪声 激励下模型的输出为x(n),则模型输入、输出关系的时域表达式为: 此式为AR模型的差分方程。将白噪声 激励AR模型产生的输出x(n)叫做AR过程。 根据相关卷积定理,若y(n)=x(n)*h(n),则有 即卷积的相关等于相关的卷积。如果对上式两边求傅里叶变换,根据维纳辛钦定理和相关定理,有 即输出自功率谱等于输入自功率谱与系统能量谱的乘积。 根据谱分解定理,任何平稳随机信号x(n)都可以看成是由高斯白噪声激励一个因果稳定的可逆系统H(z)产生的输出,如下图所示 因此上述公式可以变换为 上式说明,平稳随机信号x(n)的功率谱可以用模型H(z)的参数来表示。 对于p阶AR模型的系统函数 可以看出其由p+1个待定参数:a1-ap和G。 系统输出x(n)可表示为: 上式可以解释为:用n时刻之前的p个值的线性组合来预测n时刻的值x(n),预测误差为Gw(n) 。在均方误差最小准则下,组合系数的选择应该使预测误差的均方误差最小。令均方误差为e(n),有 则有 由于 可以计算出 在最小均方误差(MMSE)准则下,要使预测值最佳地逼近x(n),参数的选择应使 也即 可得到 即 由上式可得p个方程,写成矩阵式为 上式用到自相关函数的偶对称性质。由这p个方程,可以求出p个参数ai。有了这些参数就可以根据自相关函数和参数ai求解系统增益G。联立可得

解决并发问题,数据库常用的两把锁!

旧城冷巷雨未停 提交于 2020-08-18 20:50:23
作者:黄青石 cnblogs.com/huangqingshi/p/10165409.html 在写入数据库的时候需要有锁,比如同时写入数据库的时候会出现丢数据,那么就需要锁机制。 数据锁分为乐观锁和悲观锁 它们使用的场景如下: 乐观锁适用于写少读多的情景,因为这种乐观锁相当于JAVA的CAS,所以多条数据同时过来的时候,不用等待,可以立即进行返回。 悲观锁适用于写多读少的情景,这种情况也相当于JAVA的 synchronized ,reentrantLock等,大量数据过来的时候,只有一条数据可以被写入,其他的数据需要等待。执行完成后下一条数据可以继续。 他们实现的方式上有所不同。 乐观锁采用版本号的方式,即当前版本号如果对应上了就可以写入数据,如果判断当前版本号不一致,那么就不会更新成功,比如 update table set column = value where version=${version} and otherKey = ${otherKey} 悲观锁实现的机制一般是在执行更新语句的时候采用for update方式,比如 update table set column='value' for update 这种情况where条件呢一定要涉及到数据库对应的索引字段,这样才会是行级锁,否则会是表锁,这样执行速度会变慢。 下面我就弄一个spring boot

聊聊互联网巨头在新加坡的职位与薪酬

拥有回忆 提交于 2020-08-18 14:25:23
概述 上周发了一篇 AutoUpdater迁移到Github , 主要目的是熟悉当前社区写文章的流程以及GitHub的开源和发布流程,另外也开始回归社区,准备多写一些技术文章,多开源项目,顺带把这几年造的轮子也一一开源,我深信有开源才有进步,一味闭门造车只会逐渐被时代所淘汰。 前几天查看博客与邮箱,发现很多朋友发的邮件或者博客留言,由于最近几年一直忙于工作,所以没有及时一一回复,在此也统一表示抱歉,希望后面有更多的时间来回答各位的问题。 也有朋友想了解新加坡IT现状和薪酬情况,我觉得三言两语可能无法完全讲清楚,就干脆写几篇文章来详细聊聊。 新加坡互联网发展程度比不了美国及国内,公司也没有美国和国内那么多, 没有硅谷的巨头FAANG(Facebook,Amazon,Apple,Netflix和Google),也没有国内耳熟能详的BATJM(百度、阿里、腾讯、京东、美团)以及拼多多,字节跳动, IT市场规模相对来讲要小很多,主要IT企业可以分为以下几类,薪酬依次递减: 第一类是美系巨头在亚太的总部和研发中心。 第二类是金融企业(三家本地银行, 投资银行, 大大小小的几十家外资银行,二十多家保险公司)。 第三类是最近几类才发展起来的独角兽企业,如Grab, SEA等。 第四类是IT相关的项目外包或人力外包公司。 第五类是新加坡IT相关的初创公司。 第六类是新加坡其他行业的IT部门。

我可以编写一个CSS选择器来选择不具有某个类或属性的元素吗?

倖福魔咒の 提交于 2020-08-18 07:45:12
问题: I would like to write a CSS selector rule that selects all elements that don't have a certain class. 我想编写一个CSS选择器规则,选择所有 没有 特定类的元素。 For example, given the following HTML: 例如,给定以下HTML: <html class="printable"> <body class="printable"> <h1 class="printable">Example</h1> <nav> <!-- Some menu links... --> </nav> <a href="javascript:void(0)" onclick="javascript:self.print()">Print me!</a> <p class="printable"> This page is super interresting and you should print it! </p> </body> </html> I would like to write a selector that selects all elements that don't have the "printable" class which, in

Spring系列.AOP使用

纵然是瞬间 提交于 2020-08-18 07:03:50
AOP简介 利用面向对象的方法可以很好的组织代码,也可以继承的方式实现代码重用。但是项目中总是会出现一些重复的代码,并且不太方便使用继承的方式把他们重用管理起来,比如说通用日志打印,事务处理和安全检查等。我们可以将这些代码封装起来,做成通用模块,但是还是需要在代码中每处需要的地方进行显示调用,使用起来不方便。这是时候就是利用AOP的时候。 AOP是一种编程范式,用来解决特定的问题,不能解决所有问题,可以看做是OOP的补充,常见的编程范式还有: 面向过程编程; 面向对象编程; 面向函数编程(函数式编程); 事件驱动编程(GUI开发中比较常见); 面向切面编程 AOP的常见使用场景 性能监控,在方法调用前后记录调用时间,方法执行太长或超时报警; 缓存代理,缓存某方法的返回值,下次执行该方法时,直接从缓存里获取; 软件破解,使用AOP修改软件的验证类的判断逻辑; 记录日志,在方法执行前后记录系统日志; 工作流系统,工作流系统需要将业务代码和流程引擎代码混合在一起执行,那么我们可以使用AOP将其分离,并动态挂接业务; 权限验证,方法执行前验证是否有权限执行当前方法,没有则抛出没有权限执行异常,由业务代码捕捉; 事务处理 。 Spring AOP相关概念 AOP:这种在运行时(或者编译时或者加载时),动态地将某些公共代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程; 切面

@Pointcut()的execution、@annotation等参数说明

↘锁芯ラ 提交于 2020-08-18 06:42:44
AOP的基本概念 Advice(通知、切面): 某个连接点所采用的处理逻辑,也就是向连接点注入的代码, AOP在特定的切入点上执行的增强处理。 @Before : 标识一个前置增强方法,相当于BeforeAdvice的功能. @After: final增强 ,不管是抛出异常或者正常退出都会执行. @AfterReturning: 后置增强,似于AfterReturningAdvice, 方法正常退出时执行. @AfterThrowing: 异常抛出增强,相当于ThrowsAdvice. @Around : 环绕增强,相当于MethodInterceptor. JointPoint(连接点):程序运行中的某个阶段点,比如方法的调用、异常的抛出等。 Pointcut(切入点): JoinPoint的集合,是程序中需要注入Advice的位置的集合,指明Advice要在什么样的条件下才能被触发,在程序中主要体现为书写切入点表达式。 Advisor(增强): 是PointCut和Advice的综合体,完整描述了一个advice将会在pointcut所定义的位置被触发。 @Aspect (切面): 通常是一个类的注解,里面可以定义切入点和通知 AOP Proxy:AOP框架创建的对象,代理就是目标对象的加强。Spring中的AOP代理可以使JDK动态代理,也可以是CGLIB代理,前者基于接口

KITTI 数据集 参数—— tracking devkit中的rotation_y和alpha角

北城以北 提交于 2020-08-18 04:09:34
根据devkit中的readme.txt和cs_overview.pdf的描述以及根据通过对数据集做的小实验总结的,如果过有错误的地方欢迎指正。 图一 cs_overview.pdf中的描述 图2 readme中的描述 上图为readme.txt对rotation_y和alpha的描述,一开始我以为pdf中的ry角就是rotation_y , 角和alpha也是一个,但是经过和实际的数据集中角度的对比,发现两者有一些出入 图3 根据实验对比得到的角度 在实际的数据集里面,如果物体向上图那样和camera同时朝向前方,那么rotation_y的值是一个负值,其代表的是物体的Z'轴与平行于相机X轴的直线的夹角,也就是在readme.txt中说的around Y-axis in camera coordinates,图一中的示例说物体的Z'的角度为0,顺时针方向为负数的角度,从实验结果上看正负号是对的,但是ry 和 rotation_y 的角度值却不一样。 对 角,从数据集来看,如果像图一中 β 角 在Z轴逆时针方向为正值时,α 角的值为 rotation_y + β 而 图1 中 的计算公式为 ry + β,实际上这两个计算结果并不一样,所以这是比较困惑的一点,因为在readme中举了一个例子: 在这个例子中,说如果物体朝向camera的X轴,rotation_y应该为0,无论它处在X

[Elasticsearch]4.可伸缩性解密:集群、节点和分片

烂漫一生 提交于 2020-08-17 09:45:43
可伸缩性解密:集群、节点和分片 更新连载中...请关注 Scalability and resilience: clusters,nodes, and shard Elasticsearch支持根据需要进行扩缩容.这得益于Elasticsearch是原生支持分布式的.可以通过往机器中添加服务器(节点)的方式扩大集群容量从而存储更多数据.Elasticsearch会自动的均一些数据和计算任务给新加入的数据.甚至不需要应用程序参与,Elasticsearch完全知道该怎么把数据均衡到多个节点并且提供良好的可伸缩性和高可用性.集群的节点越多这种操作越顺滑越无感. 就是这么丝滑,堪比丝袜! Elasticsearch is built to be always available and to scale with your needs. It does this by being distributed by nature. You can add servers (nodes) to a cluster to increase capacity and Elasticsearch automatically distributes your data and query load across all of the available nodes. No need to

SQL注入绕过mysql_real_escape_string()

允我心安 提交于 2020-08-17 08:25:44
问题: Is there an SQL injection possibility even when using mysql_real_escape_string() function? 即使使用 mysql_real_escape_string() 函数,也有可能进行SQL注入吗? Consider this sample situation. 考虑此示例情况。 SQL is constructed in PHP like this: SQL是用PHP构造的,如下所示: $login = mysql_real_escape_string(GetFromPost('login')); $password = mysql_real_escape_string(GetFromPost('password')); $sql = "SELECT * FROM table WHERE login='$login' AND password='$password'"; I have heard numerous people say to me that code like that is still dangerous and possible to hack even with mysql_real_escape_string() function used. 我听过很多人对我说

Spring Boot使用AOP的正确姿势

一笑奈何 提交于 2020-08-16 12:22:37
一、为什么需要面向切面编程? 面向对象编程(OOP)的好处是显而易见的,缺点也同样明显。当需要为多个不具有继承关系的对象添加一个公共的方法的时候,例如日志记录、性能监控等,如果采用面向对象编程的方法,需要在每个对象里面都添加相同的方法,这样就产生了较大的重复工作量和大量的重复代码,不利于维护。面向切面编程(AOP)是面向对象编程的补充,简单来说就是统一处理某一“切面”的问题的编程思想。如果使用AOP的方式进行日志的记录和处理,所有的日志代码都集中于一处,不需要再每个方法里面都去添加,极大减少了重复代码。 二、Spring AOP术语 通知 (Advice)包含了需要用于多个应用对象的横切行为,完全听不懂,没关系,通俗一点说就是定义了“什么时候”和“做什么”。 连接点 (Join Point)是程序执行过程中能够应用通知的所有点。 切点 (Poincut)是定义了在“什么地方”进行切入,哪些连接点会得到通知。显然,切点一定是连接点。 切面 (Aspect)是通知和切点的结合。通知和切点共同定义了切面的全部内容——是什么,何时,何地完成功能。 引入 (Introduction)允许我们向现有的类中添加新方法或者属性。 织入 (Weaving)是把切面应用到目标对象并创建新的代理对象的过程,分为编译期织入、类加载期织入和运行期织入。 三、Spring Boot AOP实战 3.1