特定の値を超えた地点を読み取る方法について
13 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
(251) 9.908005000
(252) 9.970724000
(253) 10.03347300
(254) 10.09644100
(255) 10.15993300
・・・ ・・・・・・
という行列があります.
このうち,右側の値が10を超えた地点(253)を読み取るにはどのような関数を使えば良いでしょうか?
10.03・・・を読み取るのではなく,10を超えた地点を読み取りたいです.
初歩的な質問ですが,答えていただけますと幸いです.
よろしくお願いします.
0 Commenti
Risposta accettata
michio
il 25 Set 2020
>> x = rand(10,2)
x =
0.9058 0.9706
0.1270 0.9572
0.9134 0.4854
0.6324 0.8003
0.0975 0.1419
0.2785 0.4218
0.5469 0.9157
0.9575 0.7922
0.9649 0.9595
0.1576 0.6557
>> find(x(:,2)<0.5,1)
ans =
3
find 関数が使えると思います。上の例では2列目が 0.5 以下になる位置を find 関数で 1 つ出してきます。
条件式 x(:,2) < 0.5 は任意のもので動きますので、目的に合わせて修正ください。
2 Commenti
michio
il 25 Set 2020
よかったです。
もし位置特定というよりは条件を満たす列を取り出すという用途でしたら
>> x(x(:,2)<0.5,:)
ans =
0.9134 0.4854
0.0975 0.1419
0.2785 0.4218
上のように find を使わずに実施したほうが計算効率は良いです。参考まで。
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!