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?

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 3 月 8 日
編集済み: Azzi Abdelmalek 2013 年 3 月 8 日

0 投票

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 件のコメント

Ryan
Ryan 2013 年 3 月 8 日
編集済み: Ryan 2013 年 3 月 8 日
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?
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 3 月 8 日
編集済み: Azzi Abdelmalek 2013 年 3 月 8 日
idx=find(abs((A-yourvalue)./A)<0.05)
out=A(idx)
Image Analyst
Image Analyst 2013 年 3 月 8 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Programming についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by