Find Empty Fields in Matrix and Delete them

16 visualizzazioni (ultimi 30 giorni)
Matpar il 21 Apr 2020
Commentato: Rik il 21 Apr 2020
Hi All,
I am trying to create a FOR LOOP that deletes all the empty field in my matrix!
I have some rows that are full of data and some that are empty and I would like to learn the formula to do such!
I want to learn this please!
can someone demonstrate an example, Please? I am uncertain of the terminology to express!
6 CommentiMostra 4 commenti meno recentiNascondi 4 commenti meno recenti
Matpar il 21 Apr 2020
I am trying to delete the rows that are [] empty or even better write a for loop that selects all of the data from the rows that has data within them!
Matpar il 21 Apr 2020
Hi Rik
All lines where at least one cell is empty, Please guide me? and thank you for the confirmation on the row arrays!!

Accedi per commentare.

Risposte (1)

Rik il 21 Apr 2020
Modificato: Rik il 21 Apr 2020
%generate fake data
data=cell(30,10);
for n=1:numel(data)
if rand>0.2
data{n}=rand(1,5);
end
end
%find all cells that don't contain data
L=cellfun('isempty',data);%faster than L=cellfun(@isempty,data);
%remove rows with any empty cell
emptyrows=any(L,2);
data(emptyrows,:)=[];
You can also use L to loop through the elements that have data in them (just invert it with the ~ operator).
8 CommentiMostra 6 commenti meno recentiNascondi 6 commenti meno recenti
Matpar il 21 Apr 2020
Modificato: Matpar il 21 Apr 2020
Thank you for breaking down my confidence RIK!
this may come easy for you but nevertheless the 60 odd questions they were posted becasue of wanting a better method or being confused to the point of giving up!
Sorry for displying the ID10T error!! I will try the documentations next time, I think I will stop coding for the week
Rik il 21 Apr 2020
I didn't mean to insult you. I meant exactly what I said: I don't see how they would be easier to understand than the oneliner. And the Matlab documentation is an excellent resource, so you will be missing out massively if you don't learn to use it. Nobody is born knowing this, everyone who knows it was taught this at some point.
If you have trouble understanding the documentation I would be happy to explain it to you. I only wanted to direct you to it because if you learn how to help yourself it would save you waiting for a reply from me or someone else.

Accedi per commentare.

Categorie

Scopri di più su Get Started with MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by