MATLAB活用ブックの追加・訂正
現在判明している訂正箇所です。
MATLAB活用ブック | 追加・訂正 | |
1 MATLABとは | p.9の図で配列200のところの数値は、 1ではなく4の間違いです。 |
|
2 MATLABとベクトル | P.44 解答5ですが、 誤:rownum=rem(num,row); 正:rownum=rem(num-1,row)+1; colnumを計算するところではMATLABではインデックス番号は1から始まる点を考慮していたのですが、rownumを計算するところでインデックス番号を1から始まる点を考慮するのを忘れておりました。最大値が端にある場合に明らかになるバグであったため見落としておりました。申し訳ありません。 これに伴いspdtest.mも訂正してあります。(2004/1/9) |
|
3 MATLABとデータ処理 | P.67 主成分分析の場合 誤:直行した 正:直交した |
|
4 MATLABと信号処理 | MATLAB5では、conv関数の振る舞いがfftによるものと異なる場合があります。これは、MATLAB5 のconv関数の実装ミスによるバグです。本の結果の方が正しいです。MATLAB6では、fftによるものと同じ振る舞いをするように修正されています。 p.76の図の縦方向に書いてあるインパルス応答の数値の順序が逆になっていました。(計算結果をみれば容易にわかると思います。) p.72 の配列の乗算 誤:[a+d b+e c+f] 正:[a*d b*e c*f] P.91の式の括弧が足りませんでした。 誤: φxy=IFFT(FFT(x(k).* conj(FFT(y(k))) 正: φxy=IFFT(FFT(x(k)).* conj(FFT(y(k)))) p.102の課題2 誤:conv関数を使い、の係数を計算せよ。 正:conv関数を使い、(3*s^2+2*s+1)*(2*s+1)の係数を計算せよ。 |
|
5 MEX関数 | p.106のhello.cのプログラム内 誤:mxArray0→正:mxArray 誤植です。このページ内にあるダウンロード可能なプログラムは、問題ありません。 |
|
6 MEXによる処理の高速化 | MATLAB6.5からロジカル型がロジカルクラスに変更したことにより houghdemo3.m のスクリプトでは、エラーが出るようになりました。このエラーは、houghf関数を呼び出すとき、変数の型がロジカル型による影響です。対策としては、変数に+符号をつけることで、型変換をすることで回避できます。訂正したもの houghdemo3.m をご利用ください。 これまでのバージョンでは、正方行列しか適用できませんでしたが、 Hough変換アルゴリズムを再度見直し、この条件を緩和し、縦、横のサイズが偶数であるならば変換可能になるように変更しました。処理速度をさらに最適化し、バグフィックス+LCCへも対応したものがhoughf.cとし作成しました。 houghfをbugfixした関係でhoughdemo1.m,houghdemo2.m,houghdemo3.mも訂正いたしました。 また、HOUGH変換の使い易いサンプルプログラムとして、houghdemo0.m matline.mを追加しました。 p.153のHough変換の図に入っている矢印が逆 正:上の図の矢印が右下斜めの矢印 下の図が下矢印 |
|
7 MEX関数とハードウェア制御 | NA | |
8 MEX関数と画面キャプチャ | 現象:Windows2000でビデオキャプチャしてclear allでメモリから削除 その後、ビデオキャプチャしようとするとエラーがでる。 対策: Win95/98で問題なかったので気が付きませんでした。これらバグ修正したものをC言語バージョンで作成しました。ちなみに、MATLAB6.1でコンパイルしていますので6.1以降で使用できると思います。 また、コンパイル時のオプションをプログラム内に記述したためコンパイルオプションが不要になりました。つまりライブラリを指定しなくても mex vcapg.c にすればコンパイルできます。 vcapg.c vcapg.dll 起動時に画像取り込みモード direct mode/Clipboard modeの表示を追加しました。2002/12/26 |
|
9 MATLABとDDE | 現象:xlswrite関数を使って書き込んだ場合、MATLAB起動中、Excelが起動できない。 対策: invoke(excel, 'Quit'); の後に delete(excel); を追加してください。 訂正したものをダウンロードできるようにしたのでご利用ください。 xlswrite.m |
|
10 MATLABとJava | p.232のmserver.mスクリプト内の messages = ... ['***************************';... '*** Welcome to Java World! ***';... '***************************']; は、文字配列を使っているため、文字列の列数を同じにする必要があります。 訂正したものをダウンロードできるようにしたのでご利用ください。 mserver.m |
|
11 MATLABによるシリアルポートの利用 | NA | |
12 MATLABのテクニック | NA |