Delete rows from an array

3 Ansichten (letzte 30 Tage)
Ricardo López
Ricardo López am 15 Dez. 2020
Kommentiert: Image Analyst am 15 Dez. 2020
Good afternoon
I have a long array of numbers, CEC (52560x1) and I would like to delete the rows in the following way:
r = 1:1:8760
t = 0:1:8759
CEC((2+6*t):(6*r))
I tried to set it into a loop by:
for r = 1:1:8760
for t = 0:1:8759
CEC((2+6*t):(6*r)) = [];
end
end
But it is not working for me. Any ideas?
Thank you!
  3 Kommentare
Ricardo López
Ricardo López am 15 Dez. 2020
I want those rows empty, so the result would be an array of the same length with 0 in the desired values.
Image Analyst
Image Analyst am 15 Dez. 2020
Please give some actual numbers. For example, what indexes represent the first set of rows to delete, and the second set of rows to delete?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

David Hill
David Hill am 15 Dez. 2020
a=CEC(1:6:52560);
CEC=zeros(size(CEC));
CEC(1:6:52560)=a;

Weitere Antworten (1)

SHIVAM KUMAR
SHIVAM KUMAR am 15 Dez. 2020
Bearbeitet: SHIVAM KUMAR am 15 Dez. 2020
Your code will work like this if used on 1 D array .
CEC((2+6):end) = [0];
If you are using that your array shall be 52560X52560.
then you can use
for r = 1:1:8760
for t = 0:1:8759
CEC((2+6*t),(6*r)) = [0]; %Use a comma
end
end
  1 Kommentar
SHIVAM KUMAR
SHIVAM KUMAR am 15 Dez. 2020
ie. only have values for index 1 to 8 and all other indexes will be 0.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by