东城青年
非宁静无以致远
微信号:15221816820
展开
-
从贝叶斯角度理解卡尔曼滤波算法
导弹需要每隔一秒开雷达测下离目标的距离,由于雷达有误差,所以需要融合自己上个时刻的位置、速度等信息来更准确的确定当前时刻离目标的距离。那么雷达测量数据它就不是一个数字了,而是说测量发现导弹有0.8的概率在7m那个位置,有0.1的概率在7.2m那个位置,有0.1的概率在6.9m那个位置,这些数据就叫做概率分布,概率分布的意思就是很多个值还有他们各自出现的概率多大所组成的数据就叫概率分布。),“上个时刻导弹离目标的距离”和“导弹自己当前时刻的速度”可以估算出当前导弹离目标的距离(称之为。原创 2024-09-06 18:30:32 · 206 阅读 · 0 评论 -
理解与推导贝叶斯滤波算法
很多时候一些算法看起来极其复杂,极其难懂,不是因为我们愚不可及,而是因为我们看到的是别人省略过很多步骤和脑海中思考过的思路最后呈现出来的公式和文字,而好的博客就应该尽量还原这些思考过程及省略掉的步骤。原创 2024-08-22 17:34:49 · 556 阅读 · 1 评论 -
矩阵的导数运算
如果一个标量方程f(y1,y2,...ym)有m个自变量,求取它的极值就需要求取m组的方程组。当然可以用一种简洁的方式来表达它,比如二维方程f(y1,y2)可以把其中的变量写成向量的形式。为一个向量(行数与分母相同,称为分母布局)。二维方程f(y1,y2)求极值即求偏导,令。一维方程f(y)求极值即求导,令。就是自变量是一个向量的方程。由于A为对称矩阵,所以。若按分子布局,则写成。,若A为对称矩阵,则。为1×1的标量方程,原创 2024-08-09 19:09:23 · 292 阅读 · 0 评论 -
系统卷积的理解
【代码】系统卷积的理解。原创 2023-04-17 21:26:23 · 373 阅读 · 0 评论 -
db与linear转换
查表法:原创 2023-03-23 11:13:20 · 3745 阅读 · 0 评论 -
卡尔曼滤波算法原理及示例
卡尔曼滤波算法原理推导及示例原创 2023-07-26 14:25:17 · 307 阅读 · 0 评论 -
十六进制与十进制之间的相互转换
// 8位十六进制转十进制有符号数// 因为8位有符号数范围为-128~127,而8位十六进制数范围为0~255,所以如果转换后十进制数大于127,则说明该数为负数,负数以补码存储,所以负数N=-[127-(x_dec-128)+1]=x_dec-256x = 'a8';x_dec = hex2dec(x);if x_dec > 127 x_dec = x_dec - 256;end// 十进制转十六机制// 因为8位十六进制数范围为0~255,所以如果十进制数小于0...原创 2022-05-19 23:07:56 · 2024 阅读 · 1 评论 -
系统辨识与Simulink仿真及PID Tuner
%首先设计一个传递函数num = [ 0.998 ];den = [ 0.021,1 ];sys = tf(num, den);ts = 0.005; %采样时间dsys = c2d(sys, ts, 'z'); %离散化[num, den] = tfdata(dsys, 'v'); %v代表强制以向量的格式输出num和dene_1 = 0; %前一时刻的误差Ee = 0; %累积误差u_1 = 0.0; %前一时刻的控制量y_1 = 0; %前一时刻的输出%.原创 2021-10-12 15:21:20 · 2163 阅读 · 0 评论 -
matlab fdatool工具箱设计滤波器
滤波器是信号处理常用的工具,滤波器可以对电源线中特定频率的频点或该频点以外的频率进行有效滤除,得到一个特定频率的电源信号,或消除一个特定频率后的电源信号。如下图所示,滤波器按照频率特性可以分为:低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BEF)。低通滤波器(LPF):容许低频信号通过, 阻止或减弱频率高于截止频率的信号的通过。高通滤波器(HPF):容许高频信号通过, 阻止或减弱频率低于截止频率的信号的通过。带通滤波器(BPF):容许一...原创 2021-09-15 17:46:07 · 1373 阅读 · 0 评论 -
matlab人机交互界面设计
1、通过路径选择读取图片新建一按钮,在回调函数中编写通过路径选择读取图片的程序%前面为文件名,后面为相对路径名[filename,pathname]=uigetfile({'*.*';'*.bmp';'*.jpg';'*.tif';'*.png'},'C:\Users\Administrator\Desktop\基于HOG特征和相关性的轮廓匹配算法matlab\'); if i...原创 2019-01-18 14:52:52 · 7754 阅读 · 4 评论 -
matlab连通域处理函数
%提取ROImouse=imrect;pos=getPosition(mouse);%用鼠标画一个矩形,返回矩形左上角x坐标、左上角y坐标、矩形宽度w、矩形高度hROI=[pos(1) pos(2) pos(3) pos(4)];J = imcrop(I,ROI);1、 matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)...转载 2019-01-15 09:04:48 · 2143 阅读 · 0 评论 -
matlab批量读取同一目录下的txt文件
1.MATLAB中一次导入一个txt文件或者其它数据文件很简单,直接通过界面操作就可以了。主页——》导入数据——》选择要导入的数据,我这里是保存的数据点,所以导成数值矩阵,另外我文本文件中每行是逗号间隔的如96,145,所以我这里列分隔符选择逗号,选择好后,点击导入所选内容,工作区内就有了。2.上面是每次导入一个txt格式文件,如果需要导入一批,就需要遍历该路径下的所有txt文件的文件名...原创 2018-12-05 20:19:09 · 26604 阅读 · 4 评论 -
Harris角点检测
haaris角点检测在一个或者是两个相机进行标定的时候常常用到,Opencv和matlab中都有现成的命令和程序。角点的位置就是图像中在x和y方向变化都很大的那个交点处。为了找到那些角点需要进行以下步骤的计算。 一、获取输入图像image的x和y方向的边缘图像。 方法是,用x和y方向的一阶滤波算子dx和dy(或者是二阶滤波算子dx和dy)对图像进行滤波。 其...原创 2018-09-09 21:34:02 · 396 阅读 · 0 评论 -
基于梯度下降算法的曲线拟合
梯度下降法在求解函数最小值时,首先初始化一个变量值,然后不断迭代该变量值,直到函数在该变量值的地方梯度接近于0或迭代次数达到我们设定的阈值即终止迭代,此时就找到了一个函数极值点。因为函数在梯度反方向上下降最快,所以利用梯度来迭代变量。迭代规则:x = x – lr * grad(x); 其中lr为学习率,学习率不宜过大,过大容易发散,后面会讲。举例:构造一个函数如下所示。x = -10 : 0.1 : 10;y = 2.2...原创 2021-10-12 14:23:19 · 1761 阅读 · 0 评论 -
多项式拟合
多项式拟合都可以统一转换看成是线性拟合。输入,输出Y =,要拟合二次多项式y = a*x^2 + b*x + c,则构造输入矩阵X = 待拟合系数W =构造损失函数,用梯度下降法可求得:W = 例:构造待拟合数据x = -10:10;x = x';y = 3 .* x.^2 + 2 .* x + 1;有了待拟合数据后,我们构造输入矩阵Xfor i = 1 : 21 X(i, 1) = x(i, 1)^2; X(i, 2) = x(i, ..原创 2021-09-17 17:03:37 · 1381 阅读 · 0 评论 -
高斯混合模型GMM
高斯混合模型理解。转载 2022-11-29 16:09:00 · 4935 阅读 · 3 评论 -
粒子群算法
粒子群算法介绍粒子群算法(PSO)是一种进化计算技术,源于对鸟群捕食的行为研究。粒子群算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。粒子群算法优势PSO优势:在于简单容易实现并没有许多参数的调节。目前被广泛应用于函数优化、神经网络训练、模糊系统控制以及其他遗传算法的应用领域。粒子群算法思想基本思想:粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独的搜索最优解pbest,并原创 2022-03-09 10:57:37 · 2312 阅读 · 0 评论 -
移植matlab神经网络工具拟合好的模型
命令行输入nnstart点击Fitting app训练好后点击Simple Script% Solve an Input-Output Fitting problem with a Neural Network% Script generated by Neural Fitting app% Created 24-Sep-2021 13:55:33%% This script assumes these variables are defined:%% ...原创 2021-09-24 14:01:47 · 292 阅读 · 0 评论 -
移植matlab训练好的神经网络
1.加载数据集% 加载数据集images = loadMNISTImages('minist_dataset/train-images.idx3-ubyte');labels = loadMNISTLabels('minist_dataset/train-labels.idx1-ubyte');numTrain = 100;% 训练集data_Xtrain = images(:,1:numTrain); data_Ytrain = labels(1:numTrain,1)';原创 2021-09-24 11:57:03 · 697 阅读 · 0 评论 -
多层神经网络实现
C语言实现多层神经网络训练。原创 2023-03-22 16:53:15 · 275 阅读 · 0 评论 -
BP神经网络推导及实现
神经网络训练:% 生成训练数据x = 1 : 0.01 : 10y = 1.1 * x.^3 + 2.1 * x.^2 + 3.1 * x + 1.2;len = length(x);% 训练数据归一化min_x = min(x);max_x = max(x);min_y = min(y);max_y = max(y);normal_x = (x - repmat(min_x, len, 1)) ./ repmat((max_x - min_x), len, 1);norm...原创 2022-04-22 18:26:22 · 1594 阅读 · 0 评论 -
matlab fft及ifft进行EQ算法
%% 傅里叶变换Fs = 24000;N = 41472;Xk = fft(data);An = 2 * abs(Xk) / N;f = Fs / N * (1 : N / 2); %注意0为直流分量,频率Fs/N*(0:N-1),在matlab中对应幅度为An(1:N)plot(f, An(2 : N / 2 + 1));%% 如果要对某些频率的幅度进行变换,类似实现音频EQ算法,可对某些特定频率作特定处理;%% 比如要对3500HZ以后的信号全部滤掉,只需将3500HZ以后对应Xk.原创 2022-05-23 23:24:53 · 858 阅读 · 2 评论 -
matlab离散傅里叶变换与频谱分析及滤波处理
对于一个时域信号x(t),采样频率为Fs,采样点数为N,进行采样后为y[n],fft(y)计算所得到的结果就是在每个点处的复数a+bi,每一个点都对应一个频率点,这个点的模值就是该频率下的幅频特性。频率点:实际信号第n点的频率是Fs/N * n; 幅度:第n点处的fft计算机过是复数a+bi,模值A=sqrt(a^2+b^2),那么实际信号的幅度为A/N*2,当n=0时(0HZ),第一个点就是直流分量,它的模值是直流分量的N倍,那么实际信号的幅度是A/N,注意N是采样点得个数不是进行f...原创 2021-10-12 14:05:11 · 1882 阅读 · 0 评论 -
理解离散傅里叶变换并实现
自己实现傅里叶变换离散傅里叶变换:离散傅里叶逆变换:其中为第i个点对应的离散傅里叶变换,其实也就是第i个点的实际值。或者换一种理解来求中间的系数矩阵:Fs = 1000; % Sampling frequency HZ T = 1/Fs; % Sampling period S N = 2000; % Number of signal t = ...原创 2021-10-20 23:43:16 · 279 阅读 · 0 评论 -
matlab快速实现人脸识别
一、基于matlab应用程序快速实现人脸识别首先准备好人脸数据和类别标签,在我的基于PCA和SVM的人脸识别博客中有讲解,得到数据和标签后,将标签栏加在数据栏的最后一列,降维后的人脸数据是205*20,标签是205*1,则最后得到的数据和标签的组合数据data为205*21。依次点击应用程序,数学、统计和优化,Classification Learner,添加一个新的会议New Session...原创 2018-08-25 21:43:35 · 37131 阅读 · 0 评论 -
基于PCA和SVM的人脸识别
源码上传到了我的github上,大家可以去免费下载https://github.com/tongxiaobin?tab=repositoriesqq:1344184686本文所用的是ORL人脸库,由英国剑桥实验室拍摄,共有40人,每人不同角度不同表情拍摄了10张,所以共有400个样本数据,图片尺寸为112*92,格式为pgm。本文将每人的前5张作为训练集,后5张作为测试集。ORL人脸库可在...原创 2018-08-17 14:05:37 · 15840 阅读 · 95 评论 -
MATLAB自带工具箱实现PCA降维代码
进行PCA降维,环境是MATLAB,网上找了很多都是介绍PCA原理的,两篇介绍的不错的PCA 原理文章,只是想实现pCA的大可不必看.原理文章1原理文章2下面开始介绍用MATLAB自带工具包函数pca(对应老版本函数princomp,在maltab里help princomp会提示你用pca代替他)进行降维的方法.直接上代码分析:[pc,score,latent,tsquare...转载 2019-09-04 16:03:16 · 1469 阅读 · 1 评论 -
线性判别分析(LDA)
目标(类间方差最大,类内方差最小):寻找一投影向量,使得原始数据在该向量上的类间方差最大,类内方差最小。令该投影向量为单位向量。类内方差最小即每个类投影的协方差尽可能小,根据前面PCA原理推导,第0类的协方差。,当然真正的协方差还要除以M,这里只考虑其最小化,M为常数可不考虑。] ,每个数据都有对应所属的类别,这里以0和1两类举例。类间方差最大即不同类均值投影后距离尽可能大,即。类内方差最小即所有类内方差都尽可能小,即。假设Y为m个样本,每个样本有n维,所以我们优化的目标是使。*P = 1,则投影值。原创 2023-05-18 13:54:48 · 151 阅读 · 0 评论 -
主成分分析(PCA)
一、主成分分析(PCA)假设Y为m个样本,每个样本有n维,= [,,... ,; ,...,; ...;,,... ,]目标(最大方差理论):寻找一投影向量,使得原始数据在该向量上的投影方差最大,投影方差最大,说明很好的保留了原始数据的特征,方差小的一般认为是噪声或没用的数据。令该投影向量为单位向量,即*P= 1,则投影值=*P。方差=令= [;; ...;...原创 2018-08-17 12:00:13 · 1141 阅读 · 1 评论