Sun, July 25, 2004
Igor Pro lecture No. 17
wave データの一部をコピーする(2)
前回は、コピー元のデータ数 (wave0 : 10) が、コピー先のデータ数よりも (wave1 : 5)多かったので、単純な p 関数でコピーができた。
5個のデータからなる wave1={5, 7, 9, 11, 13} を10個のデータからなるwave0 にコピーし、かつwave0の3番目からデータを代入するためにはどうしたらいいだろうか?今回の課題に取り組む前に、前回のようにwaveを作成しておいて欲しい。
wave は、データ領域の限定が可能だ。例えば、wave0[3, 7] と指定した場合、これはwave0のデータの「3番目から7番目までのデータ」を意味する。
一旦、wave0=0 によって、wave0をリセットしておこう。それから、
wave0[3, 7]=wave1[p]
と入力するといかがだろうか?
実はこれは失敗例だ。3番目と4番目のデータは、11, 13とコピーできたらが、5番目以降は13がずっと書き込まれてしまう。これは wave1 が上記の命令で p 番目からデータをコピーしたから、すなわちこの場合、p=3 の11のデータからコピーをはじめたからだ。よって、正しいやり方は、
wave0=0; wave0[3, 7]=wave1[p-3]
となる。これによってp=3, 4, 5, 6, 7 におけるwave0 データは、wave1のp-3、すなわち、p=0, 1, 2, 3, 4 におけるデータがコピー対象となるわけだ。
上の図のようになっていれば合格だ。
posted at July 25, 2004 06:21 PM
« Igor Pro lecture No. 16 | ホームに戻る | Igor Pro lecture No. 18 »
さんのサイン・インを確認しました。 (サイン・アウト)
(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)