Finding Certain Values In A Matrix

So here is what i need to do: I need to find a certain values in a matrix that are less than or greater than another value. I need to do this in an if statement. For example if my matrix is [1 2 3 4 5 6; 7 8 9 10 11 12]. I want to find all the values that are less than 4 and have an fprintf statement saying something. And then find all the values that are greater than 6 and have another fprintf statement. And then for all other values, have an fprintf statement. How can I do this?

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 8 Mar 2013
Modificato: Azzi Abdelmalek il 8 Mar 2013
A=[1 2 3 4 5 6; 7 8 9 10 11 12]
idx1=find(A<4)
idx2=find(A>6)
out1=A(idx1)
out2=A(idx2)

3 Commenti

Ryan
Ryan il 8 Mar 2013
Modificato: Ryan il 8 Mar 2013
thanks that helped, now is there a way that I can find the value in a matrix that is closest or for my purpose, within 5% of a certain value?
idx=find(abs((A-yourvalue)./A)<0.05)
out=A(idx)
To finish your questions:
fprintf('The values less than 4 are\n');
fprintf('%d, ', out1);
fprintf('\nThe values greater than 6 are\n');
fprintf('%d, ', out2);
Use %f instead of %d if you have floating point numbers instead of integers.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Language Fundamentals 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!

Translated by