Comparing an array of cells in a matrix
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello! I need to compare values with each other in cell arrays
for redit = 1:length(xintegra)-1
if EE1{redit}-100>= EE1{redit+1};
E1{redit}=0;
else EE1{redit}+100 <= EE1{redit+1};
E1{redit}=EE1{redit};
end
end
You give an error "Index exceeds matrix dimensions."
Help me fix
2 Commenti
Rik
il 9 Lug 2019
Reply by Lev Mihailov:
the minimum value of my matrix = 11003, EE1 this is an indicator of where it is located.
Risposte (1)
Roy Kadesh
il 9 Lug 2019
If you want loop through all values of EE1, then you can use the code below.
for redit = 1:numel(EE1)-1
if EE1{redit}-100>= EE1{redit+1}
E1{redit}=0;
elseif EE1{redit}+100 <= EE1{redit+1} %did you mean elseif?
E1{redit}=EE1{redit};
end
end
If you want to catch the case where redit is larger than the numer of elements in EE1, you can fill in the code below.
for redit = 1:numel(xintegra)-1
if (redit+1)>numel(EE1)
%do something else
else
if EE1{redit}-100>= EE1{redit+1}
E1{redit}=0;
elseif EE1{redit}+100 <= EE1{redit+1} %did you mean elseif
E1{redit}=EE1{redit};
end
end
end
1 Commento
Rik
il 9 Lug 2019
If there are indeed only numeric values inside that cell array, it is probably much faster to convert it to a double and use logical indexing to create the output.
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!