特定の値を超えた地点を読み取る方法について
3 次查看(过去 30 天)
显示 更早的评论
(251) 9.908005000
(252) 9.970724000
(253) 10.03347300
(254) 10.09644100
(255) 10.15993300
・・・ ・・・・・・
という行列があります.
このうち,右側の値が10を超えた地点(253)を読み取るにはどのような関数を使えば良いでしょうか?
10.03・・・を読み取るのではなく,10を超えた地点を読み取りたいです.
初歩的な質問ですが,答えていただけますと幸いです.
よろしくお願いします.
0 个评论
采纳的回答
michio
2020-9-25
>> 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 个评论
michio
2020-9-25
よかったです。
もし位置特定というよりは条件を満たす列を取り出すという用途でしたら
>> x(x(:,2)<0.5,:)
ans =
0.9134 0.4854
0.0975 0.1419
0.2785 0.4218
上のように find を使わずに実施したほうが計算効率は良いです。参考まで。
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!