Count repeated numbers from a data column and produce new columns

9 views (last 30 days)
Dear experts,
I have one column of 10000 repeated unique numbers (input). For example, as it can be seen in this abstract of a 20 values column: the 692 is repeated 7 times, the 3988 6 times, the 5248 4 times and the 5313 3 times and goes on...
I would like to have 3 new columns as output 1, 2 and 3 are shown below. So, if the number is repeated 4 times, the new output1 should show the numbers as 1,2,3,4 and in the output2 the last number "4" from the output1 should be written 4 times... and a counter for the first repeatd number like 1111 etc
The input is a column text file: ceadata.txt (I just place 20 values in a column format)
692
692
692
692
692
692
692
3988
3988
3988
3988
3988
3988
5248
5248
5248
5248
5313
5313
5313
With this piece of code:
-------------------------------------
fid = fopen('ceadata.txt', 'r');
data = fscanf(fid, '%f');
nRows = data(1);
data = reshape(data(1:end), 20, 1).';
c = unique(data);
for i = 1:length(data)
counts(i,1) = sum(data==data(i)); % number of times each unique value is repeated
end
------------------------------------
I have the output 2!
The problem now is how to get the output1 and output3!
any help please?
input output1 output2 output3
692 1 7 1
692 2 7 1
692 3 7 1
692 4 7 1
692 5 7 1
692 6 7 1
692 7 7 1
3988 1 6 2
3988 2 6 2
3988 3 6 2
3988 4 6 2
3988 5 6 2
3988 6 6 2
5248 1 4 3
5248 2 4 3
5248 3 4 3
5248 4 4 3
5313 1 3 4
5313 2 3 4
5313 3 3 4
I am looking forward to hearing from you.
Thanks a lot
Georgios

Answers (2)

Dyuman Joshi
Dyuman Joshi on 24 Mar 2023
Edited: Dyuman Joshi on 25 Mar 2023
Code edited to include output3 added by OP.
@Georgios Tsiledakis, Use repelem() rather than looping over the data (especially without preallocation) for obtaining output2.
I'm confused as to why you are reshaping the data in the code mentioned above.
%Using random data (1e4x1) as we do not have your data
%10000 random integers in the range [100,1000]
in = randi([1e2 1e3],1e4,1);
%unique elements
un = unique(in);
%frequency of unique elements
freq = histcounts(in,[un;Inf]);
vec = arrayfun(@(x) 1:x, freq, 'uni', 0);
out1 = [vec{:}]';
out2 = repelem(freq,freq)';
out3 = repelem(1:numel(freq),freq)';
disp([sort(in) out1 out2 out3])
100 1 10 1 100 2 10 1 100 3 10 1 100 4 10 1 100 5 10 1 100 6 10 1 100 7 10 1 100 8 10 1 100 9 10 1 100 10 10 1 101 1 12 2 101 2 12 2 101 3 12 2 101 4 12 2 101 5 12 2 101 6 12 2 101 7 12 2 101 8 12 2 101 9 12 2 101 10 12 2 101 11 12 2 101 12 12 2 102 1 17 3 102 2 17 3 102 3 17 3 102 4 17 3 102 5 17 3 102 6 17 3 102 7 17 3 102 8 17 3 102 9 17 3 102 10 17 3 102 11 17 3 102 12 17 3 102 13 17 3 102 14 17 3 102 15 17 3 102 16 17 3 102 17 17 3 103 1 9 4 103 2 9 4 103 3 9 4 103 4 9 4 103 5 9 4 103 6 9 4 103 7 9 4 103 8 9 4 103 9 9 4 104 1 7 5 104 2 7 5 104 3 7 5 104 4 7 5 104 5 7 5 104 6 7 5 104 7 7 5 105 1 15 6 105 2 15 6 105 3 15 6 105 4 15 6 105 5 15 6 105 6 15 6 105 7 15 6 105 8 15 6 105 9 15 6 105 10 15 6 105 11 15 6 105 12 15 6 105 13 15 6 105 14 15 6 105 15 15 6 106 1 13 7 106 2 13 7 106 3 13 7 106 4 13 7 106 5 13 7 106 6 13 7 106 7 13 7 106 8 13 7 106 9 13 7 106 10 13 7 106 11 13 7 106 12 13 7 106 13 13 7 107 1 8 8 107 2 8 8 107 3 8 8 107 4 8 8 107 5 8 8 107 6 8 8 107 7 8 8 107 8 8 8 108 1 9 9 108 2 9 9 108 3 9 9 108 4 9 9 108 5 9 9 108 6 9 9 108 7 9 9 108 8 9 9 108 9 9 9 109 1 12 10 109 2 12 10 109 3 12 10 109 4 12 10 109 5 12 10 109 6 12 10 109 7 12 10 109 8 12 10 109 9 12 10 109 10 12 10 109 11 12 10 109 12 12 10 110 1 15 11 110 2 15 11 110 3 15 11 110 4 15 11 110 5 15 11 110 6 15 11 110 7 15 11 110 8 15 11 110 9 15 11 110 10 15 11 110 11 15 11 110 12 15 11 110 13 15 11 110 14 15 11 110 15 15 11 111 1 10 12 111 2 10 12 111 3 10 12 111 4 10 12 111 5 10 12 111 6 10 12 111 7 10 12 111 8 10 12 111 9 10 12 111 10 10 12 112 1 10 13 112 2 10 13 112 3 10 13 112 4 10 13 112 5 10 13 112 6 10 13 112 7 10 13 112 8 10 13 112 9 10 13 112 10 10 13 113 1 7 14 113 2 7 14 113 3 7 14 113 4 7 14 113 5 7 14 113 6 7 14 113 7 7 14 114 1 9 15 114 2 9 15 114 3 9 15 114 4 9 15 114 5 9 15 114 6 9 15 114 7 9 15 114 8 9 15 114 9 9 15 115 1 12 16 115 2 12 16 115 3 12 16 115 4 12 16 115 5 12 16 115 6 12 16 115 7 12 16 115 8 12 16 115 9 12 16 115 10 12 16 115 11 12 16 115 12 12 16 116 1 14 17 116 2 14 17 116 3 14 17 116 4 14 17 116 5 14 17 116 6 14 17 116 7 14 17 116 8 14 17 116 9 14 17 116 10 14 17 116 11 14 17 116 12 14 17 116 13 14 17 116 14 14 17 117 1 12 18 117 2 12 18 117 3 12 18 117 4 12 18 117 5 12 18 117 6 12 18 117 7 12 18 117 8 12 18 117 9 12 18 117 10 12 18 117 11 12 18 117 12 12 18 118 1 16 19 118 2 16 19 118 3 16 19 118 4 16 19 118 5 16 19 118 6 16 19 118 7 16 19 118 8 16 19 118 9 16 19 118 10 16 19 118 11 16 19 118 12 16 19 118 13 16 19 118 14 16 19 118 15 16 19 118 16 16 19 119 1 17 20 119 2 17 20 119 3 17 20 119 4 17 20 119 5 17 20 119 6 17 20 119 7 17 20 119 8 17 20 119 9 17 20 119 10 17 20 119 11 17 20 119 12 17 20 119 13 17 20 119 14 17 20 119 15 17 20 119 16 17 20 119 17 17 20 120 1 16 21 120 2 16 21 120 3 16 21 120 4 16 21 120 5 16 21 120 6 16 21 120 7 16 21 120 8 16 21 120 9 16 21 120 10 16 21 120 11 16 21 120 12 16 21 120 13 16 21 120 14 16 21 120 15 16 21 120 16 16 21 121 1 5 22 121 2 5 22 121 3 5 22 121 4 5 22 121 5 5 22 122 1 10 23 122 2 10 23 122 3 10 23 122 4 10 23 122 5 10 23 122 6 10 23 122 7 10 23 122 8 10 23 122 9 10 23 122 10 10 23 123 1 12 24 123 2 12 24 123 3 12 24 123 4 12 24 123 5 12 24 123 6 12 24 123 7 12 24 123 8 12 24 123 9 12 24 123 10 12 24 123 11 12 24 123 12 12 24 124 1 6 25 124 2 6 25 124 3 6 25 124 4 6 25 124 5 6 25 124 6 6 25 125 1 10 26 125 2 10 26 125 3 10 26 125 4 10 26 125 5 10 26 125 6 10 26 125 7 10 26 125 8 10 26 125 9 10 26 125 10 10 26 126 1 17 27 126 2 17 27 126 3 17 27 126 4 17 27 126 5 17 27 126 6 17 27 126 7 17 27 126 8 17 27 126 9 17 27 126 10 17 27 126 11 17 27 126 12 17 27 126 13 17 27 126 14 17 27 126 15 17 27 126 16 17 27 126 17 17 27 127 1 9 28 127 2 9 28 127 3 9 28 127 4 9 28 127 5 9 28 127 6 9 28 127 7 9 28 127 8 9 28 127 9 9 28 128 1 7 29 128 2 7 29 128 3 7 29 128 4 7 29 128 5 7 29 128 6 7 29 128 7 7 29 129 1 12 30 129 2 12 30 129 3 12 30 129 4 12 30 129 5 12 30 129 6 12 30 129 7 12 30 129 8 12 30 129 9 12 30 129 10 12 30 129 11 12 30 129 12 12 30 130 1 7 31 130 2 7 31 130 3 7 31 130 4 7 31 130 5 7 31 130 6 7 31 130 7 7 31 131 1 13 32 131 2 13 32 131 3 13 32 131 4 13 32 131 5 13 32 131 6 13 32 131 7 13 32 131 8 13 32 131 9 13 32 131 10 13 32 131 11 13 32 131 12 13 32 131 13 13 32 132 1 13 33 132 2 13 33 132 3 13 33 132 4 13 33 132 5 13 33 132 6 13 33 132 7 13 33 132 8 13 33 132 9 13 33 132 10 13 33 132 11 13 33 132 12 13 33 132 13 13 33 133 1 11 34 133 2 11 34 133 3 11 34 133 4 11 34 133 5 11 34 133 6 11 34 133 7 11 34 133 8 11 34 133 9 11 34 133 10 11 34 133 11 11 34 134 1 11 35 134 2 11 35 134 3 11 35 134 4 11 35 134 5 11 35 134 6 11 35 134 7 11 35 134 8 11 35 134 9 11 35 134 10 11 35 134 11 11 35 135 1 10 36 135 2 10 36 135 3 10 36 135 4 10 36 135 5 10 36 135 6 10 36 135 7 10 36 135 8 10 36 135 9 10 36 135 10 10 36 136 1 12 37 136 2 12 37 136 3 12 37 136 4 12 37 136 5 12 37 136 6 12 37 136 7 12 37 136 8 12 37 136 9 12 37 136 10 12 37 136 11 12 37 136 12 12 37 137 1 10 38 137 2 10 38 137 3 10 38 137 4 10 38 137 5 10 38 137 6 10 38 137 7 10 38 137 8 10 38 137 9 10 38 137 10 10 38 138 1 12 39 138 2 12 39 138 3 12 39 138 4 12 39 138 5 12 39 138 6 12 39 138 7 12 39 138 8 12 39 138 9 12 39 138 10 12 39 138 11 12 39 138 12 12 39 139 1 6 40 139 2 6 40 139 3 6 40 139 4 6 40 139 5 6 40 139 6 6 40 140 1 12 41 140 2 12 41 140 3 12 41 140 4 12 41 140 5 12 41 140 6 12 41 140 7 12 41 140 8 12 41 140 9 12 41 140 10 12 41 140 11 12 41 140 12 12 41 141 1 8 42 141 2 8 42 141 3 8 42 141 4 8 42 141 5 8 42 141 6 8 42 141 7 8 42 141 8 8 42 142 1 13 43 142 2 13 43 142 3 13 43 142 4 13 43 142 5 13 43 142 6 13 43 142 7 13 43 142 8 13 43 142 9 13 43 142 10 13 43 142 11 13 43 142 12 13 43 142 13 13 43 143 1 9 44 143 2 9 44 143 3 9 44 143 4 9 44 143 5 9 44 143 6 9 44 143 7 9 44 143 8 9 44 143 9 9 44 144 1 8 45 144 2 8 45 144 3 8 45 144 4 8 45 144 5 8 45 144 6 8 45 144 7 8 45 144 8 8 45 145 1 14 46 145 2 14 46 145 3 14 46 145 4 14 46 145 5 14 46 145 6 14 46 145 7 14 46 145 8 14 46 145 9 14 46 145 10 14 46 145 11 14 46 145 12 14 46 145 13 14 46 145 14 14 46 146 1 9 47 146 2 9 47 146 3 9 47 146 4 9 47 146 5 9 47 146 6 9 47 146 7 9 47 146 8 9 47 146 9 9 47 147 1 9 48 147 2 9 48 147 3 9 48 147 4 9 48 147 5 9 48 147 6 9 48 147 7 9 48 147 8 9 48 147 9 9 48 148 1 14 49 148 2 14 49 148 3 14 49 148 4 14 49 148 5 14 49 148 6 14 49 148 7 14 49 148 8 14 49 148 9 14 49 148 10 14 49 148 11 14 49 148 12 14 49 148 13 14 49 148 14 14 49 149 1 13 50 149 2 13 50 149 3 13 50 149 4 13 50 149 5 13 50 149 6 13 50 149 7 13 50 149 8 13 50 149 9 13 50 149 10 13 50 149 11 13 50 149 12 13 50 149 13 13 50 150 1 11 51 150 2 11 51 150 3 11 51 150 4 11 51 150 5 11 51 150 6 11 51 150 7 11 51 150 8 11 51 150 9 11 51 150 10 11 51 150 11 11 51 151 1 10 52 151 2 10 52 151 3 10 52 151 4 10 52 151 5 10 52 151 6 10 52 151 7 10 52 151 8 10 52 151 9 10 52 151 10 10 52 152 1 9 53 152 2 9 53 152 3 9 53 152 4 9 53 152 5 9 53 152 6 9 53 152 7 9 53 152 8 9 53 152 9 9 53 153 1 14 54 153 2 14 54 153 3 14 54 153 4 14 54 153 5 14 54 153 6 14 54 153 7 14 54 153 8 14 54 153 9 14 54 153 10 14 54 153 11 14 54 153 12 14 54 153 13 14 54 153 14 14 54 154 1 7 55 154 2 7 55 154 3 7 55 154 4 7 55 154 5 7 55 154 6 7 55 154 7 7 55 155 1 11 56 155 2 11 56 155 3 11 56 155 4 11 56 155 5 11 56 155 6 11 56 155 7 11 56 155 8 11 56 155 9 11 56 155 10 11 56 155 11 11 56 156 1 10 57 156 2 10 57 156 3 10 57 156 4 10 57 156 5 10 57 156 6 10 57 156 7 10 57 156 8 10 57 156 9 10 57 156 10 10 57 157 1 13 58 157 2 13 58 157 3 13 58 157 4 13 58 157 5 13 58 157 6 13 58 157 7 13 58 157 8 13 58 157 9 13 58 157 10 13 58 157 11 13 58 157 12 13 58 157 13 13 58 158 1 7 59 158 2 7 59 158 3 7 59 158 4 7 59 158 5 7 59 158 6 7 59 158 7 7 59 159 1 14 60 159 2 14 60 159 3 14 60 159 4 14 60 159 5 14 60 159 6 14 60 159 7 14 60 159 8 14 60 159 9 14 60 159 10 14 60 159 11 14 60 159 12 14 60 159 13 14 60 159 14 14 60 160 1 15 61 160 2 15 61 160 3 15 61 160 4 15 61 160 5 15 61 160 6 15 61 160 7 15 61 160 8 15 61 160 9 15 61 160 10 15 61 160 11 15 61 160 12 15 61 160 13 15 61 160 14 15 61 160 15 15 61 161 1 9 62 161 2 9 62 161 3 9 62 161 4 9 62 161 5 9 62 161 6 9 62 161 7 9 62 161 8 9 62 161 9 9 62 162 1 10 63 162 2 10 63 162 3 10 63 162 4 10 63 162 5 10 63 162 6 10 63 162 7 10 63 162 8 10 63 162 9 10 63 162 10 10 63 163 1 5 64 163 2 5 64 163 3 5 64 163 4 5 64 163 5 5 64 164 1 7 65 164 2 7 65 164 3 7 65 164 4 7 65 164 5 7 65 164 6 7 65 164 7 7 65 165 1 19 66 165 2 19 66 165 3 19 66 165 4 19 66 165 5 19 66 165 6 19 66 165 7 19 66 165 8 19 66 165 9 19 66 165 10 19 66 165 11 19 66 165 12 19 66 165 13 19 66 165 14 19 66 165 15 19 66 165 16 19 66 165 17 19 66 165 18 19 66 165 19 19 66 166 1 15 67 166 2 15 67 166 3 15 67 166 4 15 67 166 5 15 67 166 6 15 67 166 7 15 67 166 8 15 67 166 9 15 67 166 10 15 67 166 11 15 67 166 12 15 67 166 13 15 67 166 14 15 67 166 15 15 67 167 1 11 68 167 2 11 68 167 3 11 68 167 4 11 68 167 5 11 68 167 6 11 68 167 7 11 68 167 8 11 68 167 9 11 68 167 10 11 68 167 11 11 68 168 1 7 69 168 2 7 69 168 3 7 69 168 4 7 69 168 5 7 69 168 6 7 69 168 7 7 69 169 1 13 70 169 2 13 70 169 3 13 70 169 4 13 70 169 5 13 70 169 6 13 70 169 7 13 70 169 8 13 70 169 9 13 70 169 10 13 70 169 11 13 70 169 12 13 70 169 13 13 70 170 1 18 71 170 2 18 71 170 3 18 71 170 4 18 71 170 5 18 71 170 6 18 71 170 7 18 71 170 8 18 71 170 9 18 71 170 10 18 71 170 11 18 71 170 12 18 71 170 13 18 71 170 14 18 71 170 15 18 71 170 16 18 71 170 17 18 71 170 18 18 71 171 1 8 72 171 2 8 72 171 3 8 72 171 4 8 72 171 5 8 72 171 6 8 72 171 7 8 72 171 8 8 72 172 1 8 73 172 2 8 73 172 3 8 73 172 4 8 73 172 5 8 73 172 6 8 73 172 7 8 73 172 8 8 73 173 1 10 74 173 2 10 74 173 3 10 74 173 4 10 74 173 5 10 74 173 6 10 74 173 7 10 74 173 8 10 74 173 9 10 74 173 10 10 74 174 1 11 75 174 2 11 75 174 3 11 75 174 4 11 75 174 5 11 75 174 6 11 75 174 7 11 75 174 8 11 75 174 9 11 75 174 10 11 75 174 11 11 75 175 1 16 76 175 2 16 76 175 3 16 76 175 4 16 76 175 5 16 76 175 6 16 76 175 7 16 76 175 8 16 76 175 9 16 76 175 10 16 76 175 11 16 76 175 12 16 76 175 13 16 76 175 14 16 76 175 15 16 76 175 16 16 76 176 1 9 77 176 2 9 77 176 3 9 77 176 4 9 77 176 5 9 77 176 6 9 77 176 7 9 77 176 8 9 77 176 9 9 77 177 1 13 78 177 2 13 78 177 3 13 78 177 4 13 78 177 5 13 78 177 6 13 78 177 7 13 78 177 8 13 78 177 9 13 78 177 10 13 78 177 11 13 78 177 12 13 78 177 13 13 78 178 1 7 79 178 2 7 79 178 3 7 79 178 4 7 79 178 5 7 79 178 6 7 79 178 7 7 79 179 1 10 80 179 2 10 80 179 3 10 80 179 4 10 80 179 5 10 80 179 6 10 80 179 7 10 80 179 8 10 80 179 9 10 80 179 10 10 80 180 1 9 81 180 2 9 81 180 3 9 81 180 4 9 81 180 5 9 81 180 6 9 81 180 7 9 81 180 8 9 81 180 9 9 81 181 1 10 82 181 2 10 82 181 3 10 82 181 4 10 82 181 5 10 82 181 6 10 82 181 7 10 82 181 8 10 82 181 9 10 82 181 10 10 82 182 1 13 83 182 2 13 83 182 3 13 83 182 4 13 83 182 5 13 83 182 6 13 83 182 7 13 83 182 8 13 83 182 9 13 83 182 10 13 83 182 11 13 83 182 12 13 83 182 13 13 83 183 1 17 84 183 2 17 84 183 3 17 84 183 4 17 84 183 5 17 84 183 6 17 84 183 7 17 84 183 8 17 84 183 9 17 84 183 10 17 84 183 11 17 84 183 12 17 84 183 13 17 84 183 14 17 84 183 15 17 84 183 16 17 84 183 17 17 84 184 1 9 85 184 2 9 85 184 3 9 85 184 4 9 85 184 5 9 85 184 6 9 85 184 7 9 85 184 8 9 85 184 9 9 85 185 1 14 86 185 2 14 86 185 3 14 86 185 4 14 86 185 5 14 86 185 6 14 86 185 7 14 86 185 8 14 86 185 9 14 86 185 10 14 86 185 11 14 86 185 12 14 86 185 13 14 86 185 14 14 86 186 1 7 87 186 2 7 87 186 3 7 87 186 4 7 87 186 5 7 87 186 6 7 87 186 7 7 87 187 1 10 88 187 2 10 88 187 3 10 88 187 4 10 88 187 5 10 88 187 6 10 88 187 7 10 88 187 8 10 88 187 9 10 88 187 10 10 88 188 1 10 89 188 2 10 89 188 3 10 89 188 4 10 89 188 5 10 89 188 6 10 89 188 7 10 89 188 8 10 89 188 9 10 89 188 10 10 89 189 1 12 90 189 2 12 90 189 3 12 90 189 4 12 90 189 5 12 90 189 6 12 90 189 7 12 90 189 8 12 90 189 9 12 90 189 10 12 90 189 11 12 90 189 12 12 90 190 1 9 91 190 2 9 91 190 3 9 91 190 4 9 91 190 5 9 91 190 6 9 91 190 7 9 91 190 8 9 91 190 9 9 91 191 1 13 92 191 2 13 92 191 3 13 92 191 4 13 92 191 5 13 92 191 6 13 92 191 7 13 92 191 8 13 92 191 9 13 92 191 10 13 92 191 11 13 92 191 12 13 92 191 13 13 92 192 1 12 93 192 2 12 93 192 3 12 93 192 4 12 93 192 5 12 93 192 6 12 93 192 7 12 93 192 8 12 93 192 9 12 93 192 10 12 93 192 11 12 93 192 12 12 93 193 1 13 94 193 2 13 94 193 3 13 94 193 4 13 94 193 5 13 94 193 6 13 94 193 7 13 94 193 8 13 94 193 9 13 94 193 10 13 94 193 11 13 94 193 12 13 94 193 13 13 94 194 1 18 95 194 2 18 95 194 3 18 95 194 4 18 95 194 5 18 95 194 6 18 95 194 7 18 95 194 8 18 95 194 9 18 95 194 10 18 95 194 11 18 95 194 12 18 95 194 13 18 95 194 14 18 95 194 15 18 95 194 16 18 95 194 17 18 95 194 18 18 95 195 1 14 96 195 2 14 96 195 3 14 96 195 4 14 96 195 5 14 96 195 6 14 96 195 7 14 96 195 8 14 96 195 9 14 96 195 10 14 96 195 11 14 96 195 12 14 96 195 13 14 96 195 14 14 96 196 1 14 97 196 2 14 97 196 3 14 97 196 4 14 97 196 5 14 97 196 6 14 97 196 7 14 97 196 8 14 97 196 9 14 97 196 10 14 97 196 11 14 97 196 12 14 97 196 13 14 97 196 14 14 97 197 1 5 98 197 2 5 98 197 3 5 98 197 4 5 98 197 5 5 98 198 1 10 99 198 2 10 99 198 3 10 99 198 4 10 99 198 5 10 99 198 6 10 99 198 7 10 99 198 8 10 99 198 9 10 99 198 10 10 99 199 1 9 100 199 2 9 100 199 3 9 100 199 4 9 100 199 5 9 100 199 6 9 100 199 7 9 100 199 8 9 100 199 9 9 100 200 1 10 101 200 2 10 101 200 3 10 101 200 4 10 101 200 5 10 101 200 6 10 101 200 7 10 101 200 8 10 101 200 9 10 101 200 10 10 101 201 1 11 102 201 2 11 102 201 3 11 102 201 4 11 102 201 5 11 102 201 6 11 102 201 7 11 102 201 8 11 102 201 9 11 102 201 10 11 102 201 11 11 102 202 1 5 103 202 2 5 103 202 3 5 103 202 4 5 103 202 5 5 103 203 1 8 104 203 2 8 104 203 3 8 104 203 4 8 104 203 5 8 104 203 6 8 104 203 7 8 104 203 8 8 104 204 1 8 105 204 2 8 105 204 3 8 105 204 4 8 105 204 5 8 105 204 6 8 105 204 7 8 105 204 8 8 105 205 1 16 106 205 2 16 106 205 3 16 106 205 4 16 106 205 5 16 106 205 6 16 106 205 7 16 106 205 8 16 106 205 9 16 106 205 10 16 106 205 11 16 106 205 12 16 106 205 13 16 106 205 14 16 106 205 15 16 106 205 16 16 106 206 1 15 107 206 2 15 107 206 3 15 107 206 4 15 107 206 5 15 107 206 6 15 107 206 7 15 107 206 8 15 107 206 9 15 107 206 10 15 107 206 11 15 107 206 12 15 107 206 13 15 107 206 14 15 107 206 15 15 107 207 1 7 108 207 2 7 108 207 3 7 108 207 4 7 108 207 5 7 108 207 6 7 108 207 7 7 108 208 1 6 109 208 2 6 109 208 3 6 109 208 4 6 109 208 5 6 109 208 6 6 109 209 1 13 110 209 2 13 110 209 3 13 110 209 4 13 110 209 5 13 110 209 6 13 110 209 7 13 110 209 8 13 110 209 9 13 110 209 10 13 110 209 11 13 110 209 12 13 110 209 13 13 110 210 1 14 111 210 2 14 111 210 3 14 111 210 4 14 111 210 5 14 111 210 6 14 111 210 7 14 111 210 8 14 111 210 9 14 111 210 10 14 111 210 11 14 111 210 12 14 111 210 13 14 111 210 14 14 111 211 1 9 112 211 2 9 112 211 3 9 112 211 4 9 112 211 5...
This is an interesting problem, specifically to find a vectorized solution for output 1.
  5 Comments
Georgios Tsiledakis
Georgios Tsiledakis on 27 Mar 2023
I am really grateful for your help!
it works perfect with histc()!
Thank you so much
Best regards

Sign in to comment.


Atsushi Ueno
Atsushi Ueno on 24 Mar 2023
Edited: Atsushi Ueno on 24 Mar 2023
data = repelem([692;3988;5248;5313],[7;6;4;3]);
n1 = find(diff([data; inf]));
n2 = [n1(1); diff(n1)];
[data, cell2mat(arrayfun(@(x) (1:x)',n2,'uni',false)), repelem(n2,n2)]
ans = 20×3
692 1 7 692 2 7 692 3 7 692 4 7 692 5 7 692 6 7 692 7 7 3988 1 6 3988 2 6 3988 3 6

Categories

Find more on Data Distribution Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!