LabVIEWのデシメイト1D配列関数を使うと、出力配列の最後の要素が含まれていない場合があるのはなぜでしょうか。



使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題: デシメイト1D配列関数を使って、一列の配列を複数の列に分割しようとしています。この関数からの出力が、時によっては、最後の要素がかけている場合があります。これは、仕様なのでしょうか。

解決策: デシメイト1D配列関数は同じサイズの列しか出力できません。出力の列の中で、短い列に要素を足すことで長い列のサイズに合わせるのではなく、長いほうの列の最後の要素を切り取り、短いほうの列にあわせます。

例えば、0から15の数字が順番に入った16個の要素がある列をこの関数に入力し4つの列に分割するようにします。すると、一列目には[0,4,8,12]、二列目には、[1,5,9,13]、三列目には[2,6,10,14]、そして四列目には、[3,7,11,15]というように、振り分けられます。
ただ、入力の列が16個ではなく、15個の場合、出力は以下のようになります。
一列目は、[0,4,8]、二列目は、[1,5,9]、三列目は、[2,6,10]、四列目は、[3,7,11]となります。
これは、四列目の出力が3つしか要素が無く、他の出力の列も一番短い列にあわせるため、そのサイズが3となります。
ということで、この現象は仕様です。

関連リンク:

添付:





報告日時: 01/17/2003
最終更新日: 06/28/2005
ドキュメントID: 2TGDGR0Q