ダウンロード

mod_matrix Ver.1.03
ダウンロード(65.1 KB)(2017/08/26)

HSPプログラムコンテスト

HSPプログラムコンテスト2017への応募作品です。(一般部門)
HSPプログラムコンテスト2017
ID#1382 行列計算モジュール

内容

HSP3によるプログラミングで行列計算を手軽に行うためのモジュールです。
本モジュールを使用すると行列を使った計算のいくつかを手軽に行うことができます。 また高速フーリエ変換も行えます。

・デシベル計算をする命令を作成しました。
・A、C、Z特性の補正値を取得できるようにしました。
・1/3オクターブバンドスペクトルが手軽に計算できるようになりました。

なお、d3moduleで回転などの計算をする場合は、別途配布中のmD3Matrixモジュールが便利です。

ライセンス:NYSL

動作環境

  • Windows10で動作確認済み。
  • HSP3でのプログラミング作業にご利用ください。
  • 特殊なことはしていないのでwindowsならほとんどのバージョンで動作すると思います。
  • Androidでの動作はわかりません。

インストール・アンインストール

mod_matrix.zipを解凍し、できたファイルを下記の場所にそれぞれコピーしてください。
mod_matrix.hspをHSP3インストールフォルダのcommonフォルダにコピーしてください。
残りのファイルはdoclibフォルダにmod_matrixフォルダを作成して、その中にすべてコピーしてください。

これでインストール作業は完了です。
アンインストールはコピーしたファイルを全て削除すれば完了です。

命令・関数の一覧

行列表示 MatrixMes配列をメッセージ表示
MatrixStrf配列を書式で整形
行列演算 MatrixPlus行列の加算
MatrixMinus行列の減算
MatrixMul行列の乗算
MatrixDot行列の内積(ドット積)
MatrixTranspose転置行列
MatrixCTranspose転置行列(変換)
配列演算 MatrixTimes行列を要素単位で乗算
MatrixRDivide行列を配列として右除算
MatrixAPow行列を要素単位でべき乗
MatrixLog行列の自然対数
MatrixLog10行列の常用対数(10を底とする)
MatrixSin行列のサイン値
MatrixCos行列のコサイン値
MatrixTan行列のタンジェント値
MatrixRad2degラジアンを度に変換
MatrixDeg2rad度をラジアンに変換
MatrixRI2MPReal,ImgからMag,Phaseに変換
MatrixSum配列要素の和
MatrixDbsum配列要素のデシベルの合計
MatrixDbPlus配列要素のデシベル和
MatrixDbMinus配列要素のデシベル差
MatrixMax配列の最大要素
MatrixMin配列の最小要素
特殊な行列命令 MatrixEye単位行列 E or I
MatrixOnesすべて 1 の行列または配列を作成
線形代数 MatrixDetSarrus行列式(3x3まで)
対角行列命令 MatrixTrace行列のトレース
行列連結命令 MatrixCopy行列のコピー
MatrixVertCat行列を垂直に連結
MatrixHorzCat行列を水平に連結
MatrixASubset行列から一部を取り出し
フーリエ変換 MatrixFFT高速フーリエ変換
MatrixIFFT逆高速フーリエ変換
MatrixDFTmtx離散フーリエ変換行列取得
MatrixDFT離散フーリエ変換
MatrixIDFT逆離散フーリエ変換
MatrixFFT2Spectrumナイキスト周波数以下を取得
窓関数 MatrixRectwin箱型ウィンドウ
MatrixHannハニング ウィンドウ
MatrixHammingハミング ウィンドウ
MatrixFlattopwinフラット トップ加重ウィンドウ
重み付け MatrixAudioweighting重み付け
オクターブバンド計算 MatrixPwTo3Octスペクトルから1/3オクターブバンドを算出
MatrixGetOctaveBandオクターブバンド中心周波数を取得

履歴

2017/07/03
v1.00
・完成。
2017/07/10
v1.01
・窓関数を実装。
・MatrixStrf命令追加。
・MatrixRad2deg, MatrixDeg2rad命令追加。
・MatrixRI2MP命令追加。
・MatrixFFT2Spectrum命令追加。
・MatrixAddをMatrixPlusに置き換え。
・MatrixSubをMatrixMinusに置き換え。
・MatrixAMulをMatrixTimesに置き換え。
・MatrixARDivideをMatrixRDivideに置き換え。
・MatrixFFT_RI2MP命令を廃止。
2017/07/24
v1.02
・次の命令を追加
MatrixSum
MatrixDbsum
MatrixDbPlus
MatrixDbMinus
MatrixPwTo3Oct
MatrixMax
MatrixMin
MatrixAudioweighting
MatrixGetOctaveBand
2017/08/26
v1.03
・変数名の衝突の可能性があった問題を修正。