1. ホーム
  2. arrays

[解決済み] MATLABのnumel関数とlength関数の違いについて

2022-02-18 18:42:35

質問

私は、以下のことを知っています。 length(x) が返ってくる max(size(x))numel(x) はxの要素の総数を返しますが、1×nの配列の場合はどちらが良いのでしょうか?それとも、この場合、互換性があるのでしょうか?

EDITです。 一応ね。

100k要素までは性能的に同じみたいですね。

解決方法は?

この場合、両者は同じものを返し、違いはありません。パフォーマンスに関しては、MATLABの配列の内部動作に依存します。例えば、配列の中にいくつの要素があるかというメタ情報がある場合(形状に関係なく)、numel はできるだけ速く、一方 max(size(x)) は同じものを得るために多くの作業を必要とするようです(サイズを取得し、それらの中から最大値を見つける)。私は numel その場合、パフォーマンススピーチ(仮)は別として、両者は互換性があると言えるでしょう。