y =[1 2 0.075 0.100 0.000 1.000
2 3 0.080 0.110 0.000 1.000
2 4 0.090 0.180 0.000 1.000
3 9 0.040 0.040 0.000 1.000
4 5 0.040 0.040 0.000 1.000
1 6 0.110 0.110 0.000 1.000
5 14 0.090 0.120 0.000 1.000
6 7 0.080 0.110 0.000 1.000
6 8 0.110 0.110 0.000 1.000
7 9 0.110 0.110 0.000 1.000
7 10 0.080 0.110 0.000 1.000
8 12 0.040 0.040 0.000 1.000
1 11 0.110 0.110 0.000 1.000
11 12 0.090 0.120 0.000 1.000
11 13 0.080 0.110 0.000 1.000
13 14 0.040 0.040 0.000 1.000];
I have matrix y and I want to delete 3 rows randomly. To be like this.
How can I do?
y =[1 2 0.075 0.100 0.000 1.000
2 3 0.080 0.110 0.000 1.000
2 4 0.090 0.180 0.000 1.000
4 5 0.040 0.040 0.000 1.000
1 6 0.110 0.110 0.000 1.000
6 7 0.080 0.110 0.000 1.000
6 8 0.110 0.110 0.000 1.000
7 9 0.110 0.110 0.000 1.000
7 10 0.080 0.110 0.000 1.000
1 11 0.110 0.110 0.000 1.000
11 12 0.090 0.120 0.000 1.000
11 13 0.080 0.110 0.000 1.000
13 14 0.040 0.040 0.000 1.000];

 Akzeptierte Antwort

KSSV
KSSV am 1 Apr. 2019

0 Stimmen

Let y be your matrix:
[nx,ny] = size(y) ;
idx = randsample(1:nx,3) ;
y(idx,:) = []
Note that, yopu are deleting rows..not columns.

Weitere Antworten (1)

Guillaume
Guillaume am 1 Apr. 2019
Bearbeitet: Guillaume am 1 Apr. 2019

0 Stimmen

It looks like you've deleted rows not columns.
y(randperm(size(y, 1), 3), :) = []; %delete 3 rows at random
y(:, randperm(size(y, 2), 3)) = []; %delete 3 columns at random

3 Kommentare

KSSV
KSSV am 1 Apr. 2019
y(randperm(size(y, 1), 3), :) = []; %delete 3 rows at random
y(:, randperm(size(y, 2), 3)) = []; %delete 3 columns at random
Guillaume
Guillaume am 1 Apr. 2019
Yes, I spotted the mistake straight away.
pongsapak ruangrob
pongsapak ruangrob am 2 Apr. 2019
Thank you. That my fault. I need to delete rows.

Melden Sie sich an, um zu kommentieren.

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by