Drop column of values using if function
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I'm trying add some lines of code which drop columns that don't meet the condition. My values are 1500x28 matrix. Example:
if condition met
drop specific coloumn that meets condition
I know using A(:,3)=[] would drop column 3 but how do I not specify column number.
Thanks!
2 Commenti
Scott MacKenzie
il 22 Apr 2021
You can specify the column number as a variable. But, you'll need to set that variable to 3, perhaps through an if-else arrangement that includes the condition you allude to. More details would be helpful.
Risposte (1)
Scott MacKenzie
il 22 Apr 2021
Modificato: Scott MacKenzie
il 22 Apr 2021
Set up a for-loop for your code, something like this.
time = MA.data(:,2);
for i=3:30
ma_flexion = MA.data(:,i);
ma_flexion_cm=ma_flexion*100;
mini_ma_flexion=min(ma_flexion_cm);
maxi_ma_flexion=max(ma_flexion_cm);
if (maxi_ma_flexion-mini_ma_flexion)<=(0.5*mini_ma_flexion)
ma_flexion_cm(:,i)=[];
end
end
The variable i will equal the column number whenever the condition is true, and the corresponding column will be deleted. Note: I deleted the semi-colon at the end of the if-expression.
4 Commenti
Scott MacKenzie
il 22 Apr 2021
Modificato: Scott MacKenzie
il 22 Apr 2021
Well, I said "something like this". I guess I'm not quite sure what you are trying to do. Maybe you need the loop setup like this:
ma_flexion = MA.data(:,3:30);
ma_flexion_cm=ma_flexion*100;
mini_ma_flexion=min(ma_flexion_cm); % array with 27 elements
maxi_ma_flexion=max(ma_flexion_cm); % array with 27 elements
for i=1:27
if (maxi_ma_flexion(i)-mini_ma_flexion(i))<=(0.5*mini_ma_flexion(i))
ma_flexion_cm(:,i)=[];
end
end
I think you can even do this without the for-loop. Try replacing the last five lines above with this:
conditionLogical = (maxi_ma_flexion-mini_ma_flexion)<=(0.5*mini_ma_flexion);
ma_flexion_cm(:,conditionLogical)=[];
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices 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!