Adding random data to left and right of each element in a matrix
Mostra commenti meno recenti
This is a change from my previous question with random elements instead of fixed elements
Take for example,
i have two 3x4 matrices, M=
1 2 3 4
5 6 7 8
9 10 11 12
and E which shows the number of elements to be added to matrix M, random from 1-4
4 2 1 2
2 3 4 1
1 3 2 3
The elements to be added are random numbers from 0.1 to 0.9, the result to be obtained is shown below
1.3 1.9 1.4 1.1 1 1.5 1.3 1.9 1.7 2.2 2.4 2 2.9 2.5 3.1 3 3.7 4.8 4.2 4 4.4 4.1
5.3 5.8 5 5.5 5.1 6.6 6.1 6.3 6 6.2 6.2 6.7 7.2 7.3 7.2 7.9 7 7.1 7.5 7.4 8.8 8 8.2
9.2 9 9.5 10.9 10.7 10.6 10 10.4 10.3 10.4 11.3 11.4 11 11.1 11.9 12.3 12.9 12.5 12 12.3 12.4 12.8
Next is how do i store this data since it no longer stays as a matrix and is it possible use indexing to find a certain value eg. find(M==2)
1 Commento
Andrei Bobrov
il 16 Nov 2017
how?
>> sum([4 2 1 2
2 3 4 1
1 3 2 3],2)
ans =
9
10
9
>>
Risposta accettata
Più risposte (1)
Image Analyst
il 16 Nov 2017
1 voto
Since the padding on either side of each element of M is determined by the value of the corresponding element of E, and the sum of the rows in E do not sum to a constant, the rows in the final result will probably not all be the same length. Thus you will need to use a cell array.
It will be very easy for you to do this yourself once you're read the FAQ on cell arrays: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F
2 Commenti
Joseph Lee
il 16 Nov 2017
Modificato: Joseph Lee
il 16 Nov 2017
Image Analyst
il 16 Nov 2017
You've accepted an answer so I guess you figured it out.
Categorie
Scopri di più su Matrix Indexing in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!