MATLAB
一些不易直接搜索到的MATLAB命令
ZEERO~
路漫漫其修远兮,吾将上下而求索
展开
-
SG滤波总结
SG滤波器是一种在时域内基于多项式最小二乘法拟合的滤波方法,这种滤波器的最大特点在于可用说在滤除噪声的同时保持信号的形状、宽度不变。上述介绍随便一搜就能搜出来。下面上点干货。原创 2024-08-17 11:18:53 · 260 阅读 · 0 评论 -
matlab如何遍历文件夹及子文件夹下的所有文件
有一个比较深层的文件夹,每个文件夹及其子文件夹下都可能存在我所需要的csv文件,写一个函数,输入文件夹路径后可以返回所有符合要求的csv文件。原创 2023-09-07 20:33:59 · 2404 阅读 · 0 评论 -
MATLAB训练神经网络小结
一些matlab训练神经网络的小tips原创 2023-03-02 22:54:20 · 1214 阅读 · 0 评论 -
MATLAB快捷打开文件夹并读取文件
一些即时记录的MATLAB小技巧原创 2022-06-12 17:55:02 · 7379 阅读 · 0 评论 -
通俗理解时域采样与频域延拓
讲连续信号xa(t)x_{a}(t)xa(t)与冲激串信号ps(t)p_{s}(t)ps(t)相乘,即可得到离散时间信号x(n)x(n)x(n),因此,有如下公式:x(n)=xa(t)∣t=nTs=xa(t)ps(t)=xa(t)∑n=−∞∞δ(t−nTs)x(n)=x_{a}(t) |_{t=nT_{s}}=x_{a}(t)p_{s}(t)=x_{a}(t)\sum_{n=-\infty}^{\infty}\delta(t-nT_{s})x(n)=xa(t)∣t=nTs=xa(t)ps原创 2022-05-21 21:29:34 · 4591 阅读 · 1 评论 -
自己动手实现fft.m函数
背景自己动手使用matlab实现fft.m函数知识回顾1、四种形式的Fourier变换首先,我们需要系统回忆一下4种形式的Fourier变换1、时域连续,周期信号x(t)=∑k=−∞∞X(kΩ0)ejkΩ0tx(t)=\sum_{k=-\infty}^{\infty}X(k\Omega_{0})e^{jk\Omega_{0}t}x(t)=k=−∞∑∞X(kΩ0)ejkΩ0tX(kΩ0)=1T∫Tx(t)e−jkΩ0tdtX(k\Omega_{0})=\frac{1}{T}\int_原创 2022-05-08 16:52:56 · 1587 阅读 · 0 评论 -
matlab从txt文件中提取出有效信息
背景从一份txt文件中筛选出有效信息,txt文件有非常多行,依靠关键字筛选出有效行,并从行中提取有效信息。test.txt文件例如:aaa 1 2 3valid 0.1 0.2 0.3aaa 1 2 3valid 0.11 0.22 0.32我们的目的是要提取出valid后面的两行数据。实现解释一些函数fgetl用法,tline = fgetl(fileID),依次返回文件中的每一行,并删除换行符。regexp,匹配正则表达式。例如在本文中的用法是根据空格和逗号将一行进行切割。c原创 2022-05-07 16:58:34 · 2457 阅读 · 0 评论 -
matlab如何将字符数组一行一行写入到txt文件中
新建空文本文件test.txt以‘a+’方式打开该txt文件使用fprintf函数一行一行写入该文本文件,需要在每一行末尾加’\r\n’原创 2021-12-28 19:56:57 · 10485 阅读 · 2 评论 -
MATLAB如何在拼接字符串时添加空格
需求MATLAB在拼接字符串时往往会忽略中间的空格,例如:s1='A';s2=' ';s3='B';a=strcat(s1,s2,s3)>>> a= 'AB'现在想在'AB'中间添加空格,实现'A B'的效果,该怎么做呢?实现方式只需将空格表示为{32}即可。如下:s1="A";s2={32};s3="B";a=strcat(s1,s2,s3)>>> a= "A B"单引号与双引号的区别在matlab中,单引号与双引号在表原创 2021-10-31 11:03:38 · 10325 阅读 · 1 评论 -
MATLAB实现PCA算法
前言最近在看有关PCA的东西,看完后准备用MATLAB实现,谁知道MATLAB一堆函数,头都快看晕了,因此整理一下。pca原创 2021-10-20 20:54:29 · 8157 阅读 · 1 评论 -
MATLAB实现二次规划的quadprog函数详解
输入参数H-二次目标项f-线性目标项A线性不等式约束b-线性不等式约束Aeq-线性等式约束beq-线性等式约束lb-下界指的是x的最小值ub-上界x0-初始点原创 2021-10-10 09:34:28 · 3934 阅读 · 0 评论 -
MATLAB如何搭建集成学习分类器
(还是草稿)集成学习概念集成学习分为同质集成和异质集成,同质集成指的是基学习器为同一种学习器,异质集成指的是基学习器为不同的学习器。要想获得好的集成效果,个体学习器之间应该好而不同。假设个体学习器的误差相互独立,那么随着集成中个体分类器数目T的增大,集成学习的错误率将呈指数级下降,最终将趋向于0。如何产生“好而不同”的个体学习器,是集成学习研究的核心内容。根据个体学习器的生成方式,目前的集成学习方法大致分为两大类。一是个体学习器之间存在强依赖关系,必须串行生成的序列化方法,代表是Boostin原创 2021-09-25 21:07:02 · 3436 阅读 · 0 评论 -
MATLAB如何将矩阵文件取出得到逗号分隔的数据
需求需求是这样的,我想取出matlab矩阵中的一行矩阵(50个数),以逗号分隔的形式输入到VS中进行测试。又懒得用VS去读取数据文件,因此总结了一种非常简便的方法,记录下来。实现将所需要的数据单独提取到data矩阵中,然后使用writematrix函数将数据写入到txt文件中,最后打开txt文件便可复制粘贴带有逗号分隔的数据了,哈哈。因此,实现该功能就是靠一行代码即可。writematrix(output,'A.txt')...原创 2021-09-17 22:25:01 · 2408 阅读 · 2 评论 -
MATLAB如何安装并使用FSLib库
需求在做特征选择时需要用到一个特征选择算法,发现MATLAB提供了一个FSlib库,其中包含非常多的特征选择算法,例如mRMR、Lasso等一堆,具体见如下地址:https://ww2.mathworks.cn/matlabcentral/fileexchange/56937-feature-selection-library。现在我需要将其安装并且编译使得我在MATLAB中能直接调用其中的库函数进行特征选择。环境个人使用的是win10系统,目前已经安装了VS2019。其他没有特别安装任何软件或系原创 2021-09-15 10:59:54 · 2092 阅读 · 2 评论 -
MATLAB如何取出某一列为1的矩阵
需求有一个矩阵data,M行,N列,最后一列为标签值。想取出最后一列值为1的整体矩阵或将最后一列值为1的数据都清楚实现index=find(data(:,end)==1); %得到最后一列值为1的行下标;data1=data(index,:); %取出最后一列值为1 的数据data(index,:)=[]; %将最后一列值为1 的数据清除...原创 2021-09-14 17:57:47 · 1993 阅读 · 0 评论 -
MATLAB遍历文件夹及其子目录下所有特定的CSV文件
需求我有一个文件夹,命名为maindir,第一级子目录subdir,第二级子目录sub2dir,第三级目录sub3dir,所有csv文件存放在第三级子目录sub3dir中,我该如何将文件夹中的所有csv文件取出来呢?网上找了不少答案,然后没有找到合适的,自己写了一个,因此记录一下。代码实现dir、 fullfile函数的用法dir(path)的作用是列出path中的所有文件夹,其中包含两个隐藏文件夹.和..,其中一个点表示的是当前目录,两个点表示的是上一级目录。fullfile(filepart原创 2021-09-01 23:06:50 · 3105 阅读 · 1 评论 -
matlab实现低通、高通、带通、带阻滤波
带通滤波例1对信号data实现20-350Hz的带通滤波,信号data的采样频率为Fs,代码如下:fp1=[50,300];fs1=[20, 350];Fs2=Fs/2;Wp=fp1/Fs2; Ws=fs1/Fs2;Rp=1; Rs=30;[n,Wn]=cheb2ord(Wp,Ws,Rp,Rs);[b1,a1]=cheby2(n,Rs,Wn);y=filter(b1,a1,data);%经过filter滤波之后得到的数据y则是经过带通滤波后的信号数据带阻滤波例2对信号data实现5原创 2021-07-11 10:30:38 · 53978 阅读 · 14 评论