随笔分类 -  Matlab练习程序

上一页 1 2 3 4 5 6 7 8 ··· 15 下一页
摘要:过去有画过常微分方程的向量场,通过向量场能够很形象的看出方程解的状态。 最近过节在家刷视频刷到了3Blue1Brown介绍微分方程的视频。 视频中对钟摆建立的微分方程组通过向量场的形式也很形象的表达了系统状态。 这里用matlab也实现一下,同时对三维情况也做了一个实现。 绘制的方法就是计算方程在二 阅读全文
posted @ 2021-02-14 16:43 Dsp Tian 阅读(2482) 评论(1) 推荐(0) 编辑
摘要:和线性常微分方程组参数拟合类似,我们要用差分代替微分,然后进行插值处理,然后构造最小化函数。 最后用最优化方法处理该函数即可。 这里举个例子,先随便设一个非线性微分方程组,并给定初值: 然后定义最小化函数: 最后用之前介绍的非线性最优化方法解决。 matlab代码如下: clear all;clos 阅读全文
posted @ 2021-02-11 13:30 Dsp Tian 阅读(3693) 评论(1) 推荐(2) 编辑
摘要:BFGS和DFP都是拟牛顿法,和高斯牛顿法不同的地方是不用直接求J'*J矩阵了,而BFGS又比DFP算法有更好的数值稳定性。 算法步骤如下: 1. 给一个待求参数的初始值x(1)。 2. 给定H(1)矩阵为单位阵,并且计算出待优化函数在x(k)处的梯度g(k)。 3. 令d(k) = -H(k)*g 阅读全文
posted @ 2021-02-10 21:05 Dsp Tian 阅读(3223) 评论(0) 推荐(0) 编辑
摘要:比如我们已经有了微分方程模型和相关数据,如何求模型的参数。 这里以SEIR模型为例子,SEIR模型可以参考之前的文章。 一般的线性方程我们可以用最小二乘来解,一般的非线性方程我们可以用LM来解。 这里是线性微分方程组,所以我们采用最小二乘来解。 关键是构造出最小二乘形式,微分可以通过前后数据差分的方 阅读全文
posted @ 2021-02-09 17:36 Dsp Tian 阅读(8255) 评论(9) 推荐(0) 编辑
摘要:方法就是先对图像按照cellsize设置网格,一般是16*16或32*32。 然后对每个网格做投影变换,最后把所有格子拼起来就行了。 单个格子类似下图: 在实际编程的时候这里没有采用常见的反变换采样法,而是采用了正向变换的方式直接处理,投影公式见这里。 正向变换后得到待采样点集,再对点集重新进行一次 阅读全文
posted @ 2021-02-08 17:13 Dsp Tian 阅读(2061) 评论(0) 推荐(0) 编辑
摘要:计算方法: 1. 两条直线方向向量v1和v2的叉积,得到平行于两条直线的平面v3。 2. 计算v3与第一条直线v1叉积,得到垂直于v3并且过线v1的平面v4,计算面v4与线v2的交点,得到线v2上的点t2。 3. 计算v3与第二条直线v2叉积,得到垂直于v3并且过线v2的平面v5,计算面v5与线v1 阅读全文
posted @ 2021-02-07 10:27 Dsp Tian 阅读(1297) 评论(0) 推荐(0) 编辑
摘要:拿到一张全景图,我们可以做一些变换将其投影到平面上。 比如可以投影到局部立方体平面、可以投影到类似行星效果的平面,还可以投影到类似超广角像头一样的平面。 所有的投影方式基本是一致的,唯一的区别就是视点位置和视场角的大小。 比如我们有下面一张全景图。 全景图宽高比为2:1,可以认为是球坐标系下的the 阅读全文
posted @ 2021-02-06 21:14 Dsp Tian 阅读(1311) 评论(0) 推荐(1) 编辑
摘要:之前实现过三维椭圆拟合,当时是利用已知点先进行椭球拟合,再进行平面拟合,通过解两个面的相交线得到空间椭圆函数。 如果只知道空间坐标可以用上述的方法,但是通常我们获得空间点时会附带时间信息,因此我们可以认为三个分量都是时间的函数,来进行拟合。 函数如下: 由于是非线性方程组,下面我们只需要用高斯牛顿法 阅读全文
posted @ 2021-01-26 21:15 Dsp Tian 阅读(2072) 评论(0) 推荐(0) 编辑
摘要:一般的最小二乘通常是一次拿到全部的数据, 对所有数据进行统一优化计算得到模型系数。 递推最小二乘是以一种递推的方式计算最小二乘,每次使用最新的测量值,来不断更新模型系数。 递推公式如下: 公式中A和B为测量值,X为模型系数。 matlab代码如下: clear all; close all; clc 阅读全文
posted @ 2021-01-09 20:36 Dsp Tian 阅读(2729) 评论(0) 推荐(0) 编辑
摘要:在Matlab中使用GPU,要先输入gpuDevice命令初始化一下设备。 根据返回的信息能够大概估算出显存支持的最大数据。 否则使用时容易出现下面这样的问题: 错误使用 gpuArray An unexpected error occurred during CUDA execution. The 阅读全文
posted @ 2021-01-09 13:51 Dsp Tian 阅读(1950) 评论(0) 推荐(0) 编辑
摘要:给出空间中一个点,将该点绕向量(k1 k2 k3)旋转一定角度theta,从而得到新点,这种操作能够利用罗德里格斯变换来处理。 变换公式如下: 其中theta为旋转度数。 K为由点所绕的单位向量构成的矩阵。 比如所绕向量为(k1 k2 k3),则矩阵K表示如下: 公式中R即为进行这种变换的旋转矩阵。 阅读全文
posted @ 2020-12-13 10:23 Dsp Tian 阅读(2294) 评论(0) 推荐(0) 编辑
摘要:这里提供两种思路: 一、基于顶点的扩展 1. 确定扩展距离dis。 2. 计算每个顶点相邻边的单位向量。 3. 确定扩展方向,判断依据是相邻边向量的行列式的正负号,记为sign(sina)。 4. 计算顶点相邻两边的单位向量和,得到新向量,再对新向量进行单位化得到v。 5. 对每个顶点加上对应的si 阅读全文
posted @ 2020-12-12 13:19 Dsp Tian 阅读(1881) 评论(1) 推荐(1) 编辑
摘要:最近想合成一个gif图片,很多网站提供的功能要vip,还是matlab简单些。 之前也有用到过这个功能,单独再拿出来记录一下。 matlab代码如下: clear all; close all; clc; for i=0:100 A =imread(strcat(num2str(i),'.png') 阅读全文
posted @ 2020-12-12 10:28 Dsp Tian 阅读(884) 评论(0) 推荐(0) 编辑
摘要:Bug算法是一种避障算法,思路就是想象从起始点有一只小虫,不停延直线靠近目标,如果遇见障碍物,则沿着障碍物边界移动,绕过障碍物后继续沿直线靠近目标。 从上面说的思想就可以认为该算法由两种路径组成,一种直线路径,一种障碍物环绕路径。 直线路径可以认为是起点到终点的线段,不过该线段要去除掉和障碍物相交的 阅读全文
posted @ 2020-11-27 20:46 Dsp Tian 阅读(1444) 评论(2) 推荐(0) 编辑
摘要:盲水印加入的信息不容易被察觉到,加水印后和原图从空域中几乎看不出区别。 原理: 1. 对原图像x做FFT,得到FFT(x). 2. 将水印图像y叠加到FFT(x)之上,叠加时通常会引入随机函数来平均化能量或乘以系数对水印增强,得到FFT(x)+F(y)。 3. 对叠加后频域图像进行IFFT,得到加水 阅读全文
posted @ 2020-10-31 22:15 Dsp Tian 阅读(1190) 评论(2) 推荐(0) 编辑
摘要:dubins曲线是在满足曲率约束和规定的始端和末端的切线方向的条件下,连接两点的最短路径。 计算方法: 1. 给定起始终点位置和方向,并且设定最小转弯半径r。 2. 坐标转换,以起始点作为原点,起始点到结束点向量作为x轴,其垂直方向作为y轴构建新坐标系,在新坐标系下求解路径。 3. 根据论文《Cla 阅读全文
posted @ 2020-10-07 14:19 Dsp Tian 阅读(4101) 评论(0) 推荐(0) 编辑
摘要:这里有这样一个问题,比如我们有一条曲线,要求出曲线的左右一定范围的边界。 方法是: 1. 取曲线前后帧局部点对,计算点对得到的直线方程L1。 2. 点法式计算垂直于L1的直线L2。 3. 根据拓展半径d以点对中后一个点画圆,计算圆和L2的交点。 4. 连接所有交点得到曲线的边界。 matlab代码如 阅读全文
posted @ 2020-09-01 21:10 Dsp Tian 阅读(1201) 评论(0) 推荐(0) 编辑
摘要:TOA全称time of arrival,根据测量移动台和基站之间的信号到达时间,再转换为距离从而进行定位的方法。 类似的技术还有TDOA和AOA,真实的应用场景就是GNSS和UWB了。 定位原理可以用下图表示: 如上图三个基站可列三个方程,就能解出定位点,但一般基站通常更多,因此需要用到最小二乘的 阅读全文
posted @ 2020-08-09 16:27 Dsp Tian 阅读(3374) 评论(0) 推荐(0) 编辑
摘要:这次我们来拟合一个椭球,之前也拟合过空间的椭圆,不过当时只用了五个点,方程组应该是欠定的,看看就好。 要拟合椭球,首先设定椭球一般方程: 根据这个方程和已有的空间椭球点数据,利用最小二乘就能得到上面九个参数。 不过有时候我们想要的不是这样的一般方程,而是椭球的球心和三个半长轴。 下面就来说明如何根据 阅读全文
posted @ 2020-07-20 20:53 Dsp Tian 阅读(2906) 评论(0) 推荐(0) 编辑
摘要:最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。 最大期望算法经过两个步骤交替进行计算: 第一步是计算期望(E),利用对隐藏变量的现有估计值,计 阅读全文
posted @ 2020-06-27 14:51 Dsp Tian 阅读(5664) 评论(0) 推荐(1) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 15 下一页