# Create a loop to read a matrix

1 view (last 30 days)
Miguel Albuquerque on 24 May 2022
Commented: dpb on 25 May 2022
Hey guys, this is probably very easy, but im finding it difficult to do
I have a matrix surv_matrix, that assumes values of 0 and of a signal in frequency. this matrix only has values of a signal in frequency, along the column in specific columns. So imagine this matrix is 23979 by 400, and has values different from zero in column 200, 201 and 202. Along that 3 columns, this matrix assumes values to all the 23979 rows.
I want to identifie the columns that have values diferent from zero, and when it finds all the 3 columns do this code, for each column
plot(abs(freq_XQPSK),20*log10(abs(X_QPSK)),'b','linewidth',2);
xlim ([20e6 60e6]);
thanks a lot

dpb on 24 May 2022
ic=find(~all(surv_matrix==0));
will return your three column indices to use to index into the array.
You haven't defined where the variables referred to in the plot command come frome...some operation over those three columns of the array, one presumes.
dpb on 25 May 2022
That's why saved the line handles -- see <plot>, it gives example of changing after the line creation.
hL is an array of l ine handles; one for each line, use either one of the named basic eight colors or any RGB triplet for color.
<legend> is how legends are added -- simply write the text you want for each in sequence as they're drawn and it's done for the simplest case --
hLg=legend('Line A','Line B','Line C');
You can get as creative as you care to...use the doc to learn about all the properties -- there are many examples to guide the beginner...

### Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by