Matlab
这孩子谁懂哈
坚持比努力更可怕/You Reap What You Sow
展开
-
MATLAB中从一个文件中读取指定的行
function readData_write()%从指定行开始读取数据readFilePath='C:\Second_teeth\data\di_tance\Diff_distance\sanduan_event\qiefen_2\Zm\*.txt';readPathStr='C:\Second_teeth\data\di_tance\Diff_distance\sandua原创 2022-03-26 20:13:22 · 3248 阅读 · 0 评论 -
设置MATLAB中figure图的背景为白色
matlab的图形窗口每次背景都是灰色的,而我希望每次都是白色的背景,方便用图;每次总是需要添加figure('color','w');或者figure('color',[1 1 1])或者set(gcf,'color','w');很不方便。灰色背景如下:正确用法:在matlab命令框里面输入 set(0,'defaultfigurecolor原创 2017-03-20 21:17:24 · 40647 阅读 · 8 评论 -
SVM中参数调优的方法
最近在用到svm做一些科研的工作,但是在用到svm的时候,发现在不同的svm参数下,精度差别不是一般的大。熟悉svm的大家应该都知道,svm中参数很多,其中最主要得还是-c和-g参数,所以我就主要 调整这两个参数。所以,找找怎么调整合适的参数,已达到最高的精度,如下: 是我亲测的两个可以很大情况下提高精度的参数值,第一种:[c,g] = meshgrid(-原创 2017-03-28 13:51:44 · 24703 阅读 · 16 评论 -
matlab命令行中双箭头消失怎么办
让我们在命令行里面复制很多执行代码的时候,我们执行后会 发现我们的命令行的双箭头指示没有了,没有了也就是意味着 很多的命令我们不能去实现,那么怎么办呢?我么这个时候可以按下Ctrl+c 组合按键 就可以看到了。原创 2017-03-23 21:21:30 · 28625 阅读 · 4 评论 -
MFCC特征提取的MATLAB代码
function MFCCs = extract_mfcc()filePath='D:\data\tooth\rand_test\train_10\traintxt\Hhf\*.txt';pathStr='D:\data\tooth\rand_test\train_10\traintxt\Hhf\';fileList=dir(filePath);fileNum=length(fileLis原创 2022-03-26 20:31:35 · 940 阅读 · 0 评论 -
MATLAB中柱状图(bar)的完美使用
最近 做研究的时候,想用柱状图来展示自己的实验结果,但是最终画出来的效果总是与自己想要的结果不一致,原因如下: 在我想在x轴上展示字符串的时候,如果直接在[ ]里面加字符串,这是会显示很多的错误,导致你的图画不出来,等等,话不多说 上代码。clear;clc;x=[1 2 3 4 5 6 7 8];%% training20_testing50% y1=[69 33 9原创 2017-03-24 20:54:45 · 38377 阅读 · 4 评论 -
关于找不到trainAutoencoder(自编码)问题
最近用到一个技术是Autoencoder问题,发现自己的MATLAB没有这么函数,也就是没有定义啊。很是不理解,找了半天,在没找到解决的办法,最终在Google上找到了答案。由于我使用的MATLAB上015a,是没有集成这个函数的,只有从MATLAB2015b或者以上的版本才会有这个函数。心好累!!!希望后来的人可以避免这个愚蠢的问题。原创 2017-04-17 19:10:41 · 1787 阅读 · 0 评论 -
在MATLAB中的三种归一化方法
归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在-1--+1之间是统计的坐标分布。归一化有同一、统一和合一的意思。无论是为了建模还是为了计算,首先基本度量单位要同一,神经网络是以样本在事件中的统计分别几率来进行训练(概率计算)和预测的,且sigmoid函数的取值是0到1之间的,网络最后一个节点的输出也是如此,所以经常要对样本的输出归一化处理。归一化是统一在0转载 2017-04-21 13:49:30 · 24363 阅读 · 1 评论 -
MATLAB中作图使用set(gca,'xticklabel',{' '})时x轴重复出现解决办法
今天在在做一个errorbar的图时候,发现了一个问题:就是使用set()设置 x轴为字符串的时候,发现正常对应的情况下,x轴上的字符串总是重复出现。如下图所示:但是肯定不是我想要的效果,我想要的是,x轴上的左边要对应上面的数据点,好奇怪,后来发现默认的set(),函数是从0 的起点开始,而我的数据是从1开始,最终不匹配,然后只好重复数据原创 2017-05-18 21:37:29 · 29406 阅读 · 1 评论 -
MATLAB中关于排序后,序号随着排序数组一同变化的方法
举个例子,x=[1,2,3,4],y=[3,2,4,1],我想让y按从小到大的顺序排列,但x里对应的数值也要重新排列,就是变成x=[4,2,1,3],y=[1,2,3,4]这样。请问要怎么做呢?谢谢!我已经知道要怎么做了。只要先将两个数组放入到一个矩阵中,xy=(x,y),然后用sortrows()函数就好,xy=sortrows(xy,2)。这个方法不知道行不行 但是 有一种方法 很原创 2017-07-14 22:18:32 · 12483 阅读 · 3 评论 -
MATLAB中 使用bar函数关于与x轴上label不齐的解决办法
今天画一个 柱状图,画出来的效果实在是难看的不行,如图所示:明显 从这个图中 可以看出 x轴上的 label 和bar是不对应的 也肯定不是我们想要的 所以:set(gca, 'xtick',1:17,'xticklabel',{'User1' ,'User2', 'User3','User4' ,'User5' ,'User6', 'User7', 'Use原创 2017-07-05 21:41:10 · 4901 阅读 · 0 评论 -
MATLAB中批量从txt文件中读取指定行的数据保存为txt文件
经常遇到,我们想要读取的数据,不是从头开始读取的,我们往往要求从固定的行开始读取,MATLAB代码如下:function readData()%从指定行开始读取数据readFilePath='C:\Second_teeth\data\di_tance\Diff_distance\10\textfiel\Zm\*.txt';readPathStr='C:\Second_tee原创 2017-12-02 16:56:42 · 17062 阅读 · 1 评论 -
MATLAB中--带有下标的赋值维度不匹配 的错误解决办法
最近在使用MATLAB处理数据的时候,遇到一个问题,就是总是出现--带有下标的赋值维度不匹配。后来才找到问题所在。现在记录下来:问题是这样的:我想把一个数组里的每个数,也就是每个十进制转化为二进制,想查看每个数的转化情况:所以我一开始是这么写的MATLAB代码:y=[];for i=1:length(time_sec) y(i)=dec2bin(time_sec(1,i)*2^N);en...原创 2018-04-23 14:25:23 · 112200 阅读 · 15 评论 -
MATLAB中实现编辑距离并求相似度
编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。好像R2018a已经集成了编辑距离的API ,但是没有安装2018a,dist = edr(x,y,tol)[dist,ix,iy] = edr(x,y,tol)[___] = edr(x,y,maxsamp)[___] = ...原创 2018-05-29 11:08:17 · 3890 阅读 · 3 评论 -
Libsvm中各个参数的含义
libsvm在我们做研究的时候,我们总会和这个大哥打交道,但是 很多的参数实在让我们头疼,先查资料总结如下:libsvm在训练model的时候,有如下参数要设置,当然有默认的参数,但是在具体应用方面效果会大大折扣。Options:可用的选项即表示的涵义如下 -s svm类型:SVM设置类型(默认0) 0 -- C-SVC 1 --v-SVC 2 – 一类SV原创 2017-03-27 15:12:12 · 6283 阅读 · 0 评论 -
MATLAB中错误Dimensions of matrices being concatenated are not consistent.
其实在matlab中,我们常常会遇到这个问题,其实大家一看这个问题的原因,就能知道这个是什么原因,但是有的时候,自己很确定自己的程序没什么问题,但是一运行就是报这个错误,是不是很尴尬,其实不是你的程序逻辑有问题,主要是因为下面的错误Dimensions of matrices being concatenated are not consistent.Cell2ma原创 2017-03-06 14:38:20 · 16003 阅读 · 2 评论 -
Matlab基础知识笔记(二)
28、在 MATLAB 中有两种基本的循环形式,while 循环和for 循环。while 循环中,代码的重复的次数是不能确定的,只要满足用户定义的条件,重复就进行下去。相对地,在for 循环中,代码的重复次数是确定的,在循环开始之前,我们就知道代码重复的次数了。在两种循环中均可使用break 语句以跳出循环。29、break break 语句可以中止循环的执行和跳到end 后面的第一句执行,co原创 2017-01-15 15:00:31 · 537 阅读 · 0 评论 -
matlab中怎么把矩阵数据转换为txt文件
具体的命令是:用save *.txt -ascii xx为变量*.txt为文件名,该文件存储于当前工作目录下,再打开就可以 打开后,数据有可能是以指数形式保存的.看下面这个例子:a =[17 24 1 8 15;23 5 7 14 16 ;4 6 13 20 22 ;10 12 19 21 3 ;11 18 25 2 9 ];save afile.txt -ascii aafile.txt打开之后原创 2017-01-15 15:02:33 · 1752 阅读 · 0 评论 -
MATLAB中的length() size()区别
在MATLAB中:size:获取数组的行数和列数length:数组长度(即行数或列数中的较大值)numel:元素总数。s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。[r,c]=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。如果在size函数的输入参数中再添加一原创 2017-01-15 15:02:36 · 10738 阅读 · 0 评论 -
Confusion Matrix
论文中咱们会经常看见一类图,比如说多类别文类问题,那么每一个类别分到其他类别都有一些数据,但是分到自己类别的毕竟多,这样计算百分比之后就形成了一个矩阵,如果分类正确率高的话,那么对角线上的元素的值,也就是自己到自己的那一部分,value就大。我最近也在做多分类问题,要画这样的图,但是发现确实很少有代码,自己画的确实不好看,还牵扯到值的显示和x轴标签的旋转问题,所以一直自己也没空仔细研究,就去sta转载 2017-01-15 15:03:17 · 1193 阅读 · 0 评论 -
Matlab中时域、频域、均值滤波、中值滤波自定义函数
此函数集合了时域,频域图、频谱图、以及中值滤波,均值滤波等,只需要我们给这个函数传递一个WAV信号,就能自动帮助我们画出上面的所有图,并保存为bmp格式的图片。matlab代码如下:function Handle( signal)%HANDLE Summary of this function goes here% Detailed explanation goes her原创 2017-01-15 15:20:36 · 4861 阅读 · 0 评论 -
MATLAB中分帧的一些问题
首先 我们要先了解一下,我们为什么要进行分帧,原因大致如下:首先我们收集到的语音信号,在时间变化上我们认为是不稳态的信号,但是当我们要提取feature的时候,我们需要的是从稳态的信号里提取,所以我们要把不稳态的信号,分解为稳态的信号,语音信号在短时,我们认为是稳态的,所以我们要对其进行分帧的操作。程序1:[y, fs, nbits]=wavread('s2.wav');%分帧原创 2017-02-16 15:10:26 · 6310 阅读 · 2 评论 -
中值滤波
中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,原创 2017-01-15 15:03:28 · 1259 阅读 · 0 评论 -
matlab中添加Voice Box
最近想锻炼一下matlab的一些方法的实现,当我实现matlab的时候,当使用melbankm函数的时候,运行代码的时候,出现如下的错误,很明显是没有melbankm函数,所以我就要添加。>> MFCCUndefined function 'melbankm' for input arguments of type 'double'.Error in MFCC (line 2)bank=melba原创 2017-01-15 15:02:50 · 5017 阅读 · 2 评论 -
Kmeans函数理解
X = [randn(100,2)+ones(100,2);... randn(100,2)-ones(100,2)]; 产生100个样本点,行指向每个样本,列是维变量值。opts = statset('Display','final');[idx,ctrs] = kmeans(X,2,'Distance','city','Replicates',5,'Options',opts);%返回原创 2017-01-15 15:02:41 · 4895 阅读 · 3 评论 -
Matlab基础知识笔记(一)
1,如果一个语句在一行内书写太长了,可能要另起一行接着写,在这种情况下我们需要在第一行末打上半个省略号(...),再开始第二行的书写。2、启动编辑器编写M文件,方法如下一、在菜单按“File/New/M-file”创建;二、单击图标。三,在command命令行编写edit指令。3、当不知道的函数定义是有两个函数:①help②lookfor +function(),lookfor 命令与help 命原创 2017-01-15 15:00:15 · 1690 阅读 · 1 评论 -
MATLAB中画幅频图的实现
function whole_fupin_graphy(x)data=audioread(x);%disp(length(data));%设抽样频率为Fs(Hz),信号点数为N,信号序列为x。a=fft(data);y = abs(a);yy = y(1:floor(length(data)/2));plot(44100/length(data)*(1:floor(length(da原创 2017-02-22 19:49:52 · 14494 阅读 · 3 评论 -
情人节matlab浪漫之使用matlab实现心形
clc clear all close all[x,y,z]=meshgrid(linspace(-1.3,1.3)); val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (9/80)*y.^2.*z.^3;isosurface(x,y,z,val,0)axis equal view(-10,24)colormap flag原创 2017-02-14 13:54:02 · 39329 阅读 · 10 评论 -
MATLAB中同一路径下同文件的末尾继续写入数据
今天在写matlab代码的时候, 由于数据较多,所以需要用到批量处理数据,但是在做feasibility的时候,我们是可以根据少量的数据来做的,但是10000个数据呢,我们总不能使用手动一个一个的处理这么多的数据吧。我就遇到这样的问题,但是由于对matlab的很多函数和方法不是特别的熟悉,所以可能这个问题 对于很多的大牛就是一个微不足道的代码,难者不会,会者不难。所以这是一个过程。原创 2017-02-24 16:38:57 · 7361 阅读 · 2 评论 -
MATLAB中.mat和.txt的文件相互转化
1. mat文件转txt文件.mat 是matlab专用的文件,可以先把文件读入matlab,再用 fprintf 或者 save('pqfile.txt', 'data', '-ASCII')写入到 .txt 文件中。比如 %把数据加载进matlab,heart_scale.mat 有两项:heart_scale_init 和 heart_scale_labelloa原创 2017-03-08 11:24:51 · 7751 阅读 · 3 评论 -
Matlab中函数和脚本的区别
函数:定义输入参数和输出参数的对应关系,方便外部调用,有函数Function...end声明。脚本:一堆命令堆在一起,按照顺序执行,完成某一项任务的文件。没有Function函数声明。函数定义:Function 输出变量=函数名称(输入变量)语句; end;function用来定义函数,一般一个函数放在一个.m文件里。举个简单的例子建立一个myfunction.m,然后在文件中写。function原创 2017-01-15 15:00:23 · 10061 阅读 · 0 评论