Welcome to the new platform of Programmers Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use it's exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.
Matrices extracting and assigning numbers or symbols
I have huge data matrices stored in a MATLAB M-file and I will explain
my problem by this sample example:
I have three constant matrices (every matrix has its own values and these
values are not changed, they are values for experiment results)
Every matrix always has 4 rows and 6 columns
The last column of the 1st matrix is a zero column
The 2nd matrix does not have any zero column
The last 2 columns of the 3rd matrix are zeros
Actually, I have other matrices but the above are only samples, meaning
that the next three matrices in my data do not have to be in the same sequence of the
above three matrices in case of having or not having zero columns. Another point is
the non zero columns are always at the last three or two or one column or there is no
So, what I need from the above matrices is assigning three letters x, y and z OR
numbers 5, 6 and 7 to the nonzero columns only, starting from the 1st column of
matrix 1 continuing to the last column of the last matrix excluding the zero columns
meaning that: the above example results will be:
Column 1: 5
Column 2: 6
Column 3: 7
Column 4: 5
Column 5: 6
Column 6: excluded and not numbered since it is a zero column
Then it does not reset the counting, but it continuous labeling and jumps to the
next matrix, so:
Column 1: 7
Column 1: 5
And so on continuing to the last matrix.
I am using the following command that appears in the Matlab window:
K=input('Enter the matrix number: 1 OR 2 OR 3')
Then, after entering the matrix number, the program asks the user to
enter the column number:
M=input('Enter the column number 1 OR 2 OR 3 OR 4 OR 5 OR 6')
Then, the result will be a matrix of two columns:
1st column: the column elements for the number entered
2nd column: the assigned number 5 OR 6 OR 7 to this column and for sure it is
repeated through the column.
Sorry for this long question and also I tried to summarize and make it simple as I can.
I appreciate any help and thanks.