如何删除部分结构
How remove parts of structure
我有一个像图片一样的结构,有空框,我想获得没有这些空框的结构。
如果不删除包含空框的全部行,我不明白如何执行此操作。
例如:我认为 Time_Left 和 Steps_Left 的第 10 行必须替换第 6 行的相应框
% Extraction of Right Steps
cpt = 1;
for i = 1 : length(Data)
if Data.Insoles(i,3) > 0
Steps(cpt).Time_Right(i) = Data(i,1);
Steps(cpt).Steps_Right(i) = Data(i,3);
end
if Data(i,3)==0 && Data(i+1,3) > 0
cpt = cpt +1;
end
end
for j= 1: length(Steps.Insole)
for k = size(Steps(j).Steps_Right,2):-1:1
if Steps(j).Steps_Right(k) < Parameters.Threshold
Steps(j).Steps_Right(k) = [];
Steps(j).Time_Right(k) = [];
end
end
end
for f= length(Steps):-1:1
if isempty([Steps(f).Steps_Right])
Steps(f)=[];
end
end
% Extraction of Left Steps
cpt = 1;
for i = 1 : length(Data)
if Data(i,2) > 0
Steps(cpt).Time_Left(i) = Data(i,1);
Steps(cpt).Steps_Left(i) = Data(i,2);
end
if Data(i,2)==0 && Data(i+1,2) > 0
cpt = cpt +1;
end
end
for j= 1: length(Steps)
for k = size(Steps(j).Steps_Left,2):-1:1
if Steps(j).Steps_Left(k) < Parameters.Threshold
Steps(j).Steps_Left(k) = [];
Steps(j).Time_Left(k) = [];
end
end
end
for f= length(Steps):-1:1
if isempty([Steps(f).Steps_Left])&&isempty([Steps(f).Steps_Right])
Steps(f)=[];
end
end
你不能为所欲为。
您似乎有一个 结构数组 ,并且在这个数组中,每个结构必须具有相同的字段。
示例:
structure.a=1;
structure.b=2;
a(1)=structure;
structure.c=4;
a(2)=structure;
> "Subscripted assignment between dissimilar structures."
你唯一的选择是拥有一个结构元胞数组,但这是否比只有空字段更好的选择,你只能回答(取决于什么你正在处理它)。
你知道有一个函数isempty
可以检查数组是否为空,对吧?
我有一个像图片一样的结构,有空框,我想获得没有这些空框的结构。
如果不删除包含空框的全部行,我不明白如何执行此操作。
例如:我认为 Time_Left 和 Steps_Left 的第 10 行必须替换第 6 行的相应框
% Extraction of Right Steps
cpt = 1;
for i = 1 : length(Data)
if Data.Insoles(i,3) > 0
Steps(cpt).Time_Right(i) = Data(i,1);
Steps(cpt).Steps_Right(i) = Data(i,3);
end
if Data(i,3)==0 && Data(i+1,3) > 0
cpt = cpt +1;
end
end
for j= 1: length(Steps.Insole)
for k = size(Steps(j).Steps_Right,2):-1:1
if Steps(j).Steps_Right(k) < Parameters.Threshold
Steps(j).Steps_Right(k) = [];
Steps(j).Time_Right(k) = [];
end
end
end
for f= length(Steps):-1:1
if isempty([Steps(f).Steps_Right])
Steps(f)=[];
end
end
% Extraction of Left Steps
cpt = 1;
for i = 1 : length(Data)
if Data(i,2) > 0
Steps(cpt).Time_Left(i) = Data(i,1);
Steps(cpt).Steps_Left(i) = Data(i,2);
end
if Data(i,2)==0 && Data(i+1,2) > 0
cpt = cpt +1;
end
end
for j= 1: length(Steps)
for k = size(Steps(j).Steps_Left,2):-1:1
if Steps(j).Steps_Left(k) < Parameters.Threshold
Steps(j).Steps_Left(k) = [];
Steps(j).Time_Left(k) = [];
end
end
end
for f= length(Steps):-1:1
if isempty([Steps(f).Steps_Left])&&isempty([Steps(f).Steps_Right])
Steps(f)=[];
end
end
你不能为所欲为。
您似乎有一个 结构数组 ,并且在这个数组中,每个结构必须具有相同的字段。
示例:
structure.a=1;
structure.b=2;
a(1)=structure;
structure.c=4;
a(2)=structure;
> "Subscripted assignment between dissimilar structures."
你唯一的选择是拥有一个结构元胞数组,但这是否比只有空字段更好的选择,你只能回答(取决于什么你正在处理它)。
你知道有一个函数isempty
可以检查数组是否为空,对吧?