how can I check if there is a cell in a structure?

4 次查看(过去 30 天)
Hello,
I have a structure that is dynamically filled through a for loop if certain conditions are met. It happens, however, that if the for loop reaches the end and the condition is not respected, I have a structure with a field that has one less element. How can I automatically check if this field has been completely filled?
for example in the code below it is verified that the cell 'struct.hi (1,2)' does not exist because the condition has not been respected. When I run under the control with 'isempty' and I get to the third cell I get this error: Index in position 2 exceeds array bounds (must not exceed 1).
x=[2,4,5];
for i=1:2
if expression
struct.hi(1,i)=x;
end
end
for j=1:2
if isempty(struct.hi(1,i)==0)
istructions
end
end

采纳的回答

Sindar
Sindar 2020-1-29
Check the size of struct.hi. If the second dimension is size 1, then the struct.hi(1,2) doesn't exist
if size(struct.hi,2) == 1
Also, I wouldn't use struct as a variable name, since it is an important built-in

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by