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 »

さんのサイン・インを確認しました。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?


Polymer Molecular Engineering Laboratory
Department of Polymer Science and Engineering,
Kyoto Institute of Technology,
Matsugasaki, Sakyo-ku, Kyoto 606-8585, JAPAN