電子書籍の厳選無料作品が豊富!

MATLAB という汎用数値解析プログラムを使っています。

現在、100×100の配列の中にランダムな数字(0~40)が入ったデータを扱っています。

その配列内の、ある数字がどこに入っているかを算出する方法を教えてください。

例えば、『3』という数字は配列の(5,6)と(20、36)に入っている・・・という風に知ることは可能でしょうか。
ご回答よろしくお願いいたします。

A 回答 (3件)

MATLABは知らないのですが、「ある数字がどこに入っているか」の確認方法について


お手伝いできるかも、と思ったので回答します。

おそらく一般的なのは、「繰り返し」(for文など?)を使って、
「配列の中身を全てチェックして、目的の数値だったら抽出する」
という事でしょう。
具体的には、

(0,0)は3かどうかチェック、
(0,1)は…
(0,2)は


(99,98)は…
(99,99)は…

という具合です。
C言語であれば、

for(i=0;i<100;i++){
for(j=0;j<100;j++){
if(a[i][j]==3){
printf("a[%d][%d]は3です\n", i, j);
}
}
}

という具合に。

参考になりましたでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
返事が遅れて申し訳ありませんでした。

大変参考になりました。

お礼日時:2011/12/19 21:08

find と ind2sub の help を読もう.



doc find
doc int2sub

help find
help int2sub
など
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
返事が遅れて申し訳ありませんでした。

help読みました・・・が難しいですね。
基礎力をもっとつける必要を痛感しました

お礼日時:2011/12/19 21:11

さすがにこういうのは自分で探してほしいなあ…と思ったり。



Matlabにはlookforというコマンドがあり、これはMatlabの関数の中身(コメント部)を検索してくれます。
私の環境では
lookfor 探す
の結果は0件でしたが、
lookfor 検索
では多数ヒットしました。
その一番上に出てきたfindを調べると、所望の機能を持った関数であることがわかります。

それぞれの関数の使い方ならまだしも、関数の探し方ぐらいはマスターしておいた方がいいですよ。
(多分このぐらいならgoogleとかでも出てきそうですし)

最後小言みたいになってしまいすみません。

参考になれば幸いです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
返事が遅れて申し訳ありませんでした。

勉強不足でお恥ずかしいです。
私の探し方も悪いのでしょうね・・・
そこも含めて精進します!

お礼日時:2011/12/19 21:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!