Error : Expression or statement is incorrect--possibly unbalanced (, {, or [.

3 次查看(过去 30 天)
i have a multichannel EEG and i try to filter all the channel but i got this error " Expression or statement is incorrect--possibly unbalanced (, {, or [." and i don't know to correct it
clc;
clear all;
close all;
load('C:\Users\del.dell-PC\pfe\base de donnée\patient sans crise\chb01_01_edfm.mat')
deriv1=(val(1,:)-0)/2.559375;
Fs=256;
t=(0:length(deriv1)-1)/Fs; %valeur du temps de tout échantillon%
figure (1),plot(t,deriv1)
legend('FP1-F7');
d1=designfilt('lowpassfir','PassbandFrequency',0.15,'StopbandFrequency',0.2,'PassbandRipple',3,'StopbandAttenuation',60,'DesignMethod','equiripple');
a = filtfilt(d1,(t,deriv1));
figure (2),plot(a,'r');
legend(' FP1-F7 Filtré');
  5 个评论
majed samir
majed samir 2019-4-13
编辑:Walter Roberson 2019-4-13
Error : Expression or statement is incorrect--possibly unbalanced (, {, or [. in statement [~, SortOrder]=sort( bee.Cost);
how solution?
% Empty Bee Structure
empty_bee.Position=[];
empty_bee.Cost=[];
% Initialize Bees Array
bee=repmat(empty_bee,nScoutBee,1);
% Create New Solutions
for i=1:nScoutBee
bee(i).Position=unifrnd(VarMin,VarMax,VarSize);
bee(i).Cost=CostFunction(bee(i).Position);
end
% Sort
[~, SortOrder]=sort( bee.Cost);
bee=bee(SortOrder);
Walter Roberson
Walter Roberson 2019-4-13
majed samir:
I suspect you are using a release before R2009b. You should use something like
[ThisVariableWillNotBeUsed, SortOrder] = sort([bee.Cost]);
clear ThisVariableWillNotBeUsed
bee = bee(SortOrder);
Note that even for R2009b and later, the code was incorrect. For later releases the line should have been
[~, SortOrder] = sort([bee.Cost]);
bee = bee(SortOrder);

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by