把下面的函数保存后,当前路径中的所有.m格式的文件都不能打开,双击工作区中变量也全部报错
Why?
function [Fea]=feature(data,k)
Fea=zeros(1,10);
data=data(k,:)'; % 提取出该通道的信号
s1=data;
%% 时域特征
Fea(1,1)=mean(abs(s1)); % 平均幅值
Fea(1,2)=var(s1); % 方差
Fea(1,3)=abs(s1'*s1)./size(s1,1); % 能量
Fea(1,4)=rms(s1); % 均方根
Fea(1,5)=skewness(s1); % 偏度
%% 频域
[ss1,~]=pmtm(s1,3.5,512,256);
s1=ss1(1:10,:);
Fea(1,6)=mean(abs(s1)); % 平均幅值
Fea(1,7)=var(s1); % 方差
Fea(1,8)=abs(s1'*s1)./size(s1,1); % 能量
Fea(1,9)=rms(s1); % 均方根
Fea(1,10)=skewness(s1); % 偏度
报错内容如下:
索引超出矩阵维度。
出错 feature (line 3) data=data(k,:)'; % 提取出该通道的信号
出错 usejava (line 44) isok = system_dependent(‘useJava’,feature);
出错 warnfiguredialog (line 11) if ~usejava(‘jvm’)
出错 dialog (line 36) warnfiguredialog(‘dialog’);
出错 msgbox (line 213)
figureHandle=dialog( …出错 errordlg (line 47) handle =
msgbox(ErrorStringCell,DlgName,‘error’,Replace);出错 uiopen (line 187)
errordlg(ex.getReport(‘basic’, ‘hyperlinks’, ‘off’));
解决方法:解决之前,先为此重装了MATLAB,而后更换版本,最后重装电脑系统,都不管用。删掉该脚本,就一切如常了。