5.1.17 | (2000年12月8日) | Ode関数に渡す引数について,diff_eqs関数が行列型で, link_eqs関数を省略したとき,発生する問題を修正しました。 | ||||||||||||||||
5.1.16 | (2000年12月6日) | パイプ(popen)による双方向通信に関するバグを修正しました。 | ||||||||||||||||
5.1.15 | (2000年11月19日) | 浮動小数点数演算において,IEEE754の規格に従う丸めのモードを
指定する関数を追加しました。 void fpu_round_down(void); 下向きの丸め void fpu_round_near(void); 最近点への丸め void fpu_round_up(void); 上向きの丸め void fpu_round_zero(void); ゼロへの丸め(切り捨て) |
||||||||||||||||
5.1.14 | (2000年11月12日) |
行列 A に対して, norm(A,Inf) で最大ノルム norm(A,"fro") でフロベニウスノルム を計算できるようになりました。 |
||||||||||||||||
5.1.13 | (2000年11月11日) | save コマンドに関する matc のバグを修正しました。 | ||||||||||||||||
5.1.12 | (2000年11月10日) |
フリーなコンパイラ Borland C++ 5.5.1
に対応しました。 Borland C++ 5.5.1 は, インプライズ社のWebページから入手できます。 また,C マガジン (2000年5月号)の付録CD-ROMに収録されています。 (インストール方法も説明されています) 「Borland C++ Compiler 5.5 FAQ」に詳しい説明があります。 |
||||||||||||||||
5.1.11.1 | (2000年11月9日) |
orth.mm に非正方の行列を引数に与えるエラーとなる問題を修正しました。
以下のファイルに置き換えてください。 MaTX/inputs/matrix/orth.mm |
||||||||||||||||
5.1.11 | (2000年11月4日) | Ode関数群関係のプロトタイプを修正しました。 | ||||||||||||||||
5.1.10 | (2000年10月31日) | 関数 Z(), I(), ONE() に適当でない引数を渡すと,プログラムが暴走
する問題を修正しました。 リファレンスマニュアルとユーザーズマニュアルのhtmlファイルを 参照する関数 void man() を追加しました。 |
||||||||||||||||
5.1.9 | (2000年10月28日) | mgplotが起動する gnuplot へのオプションを環境変数 MGPLOT_OPTIONSで 設定できるようになりました。オプションを設定する関数 mgplot_options を併用すると,両方のオプションが gnuplot へ渡されます。 | ||||||||||||||||
5.1.8 | (2000年10月27日) | MaTXのソースコードの関数定義をK&R型からANSI型に変更しました。 | ||||||||||||||||
5.1.7 | (2000年10月24日) | 関数呼び出しに関連するメモリリークの問題を解決しました。 野中@武蔵工業大学さんの提案で,MaTXに関連するファイル (.mm ファイルと .mat ファイル)にいくつかの関連付けを行いました。 この機能を使えば,DOS窓を開いて,コマンドラインでコマンドを 入力しなくても,MaTXのプログラミングができます。 関連付けされる機能は以下の通りです。
「エディタので編集」を選択したとき,DOS窓がオープンされる場合があり ます。その場合は,DOS窓のプロパティの「プログラム」の設定で
のように設定してください。
| ||||||||||||||||
5.1.6.3 | (2000年10月23日) | Windows版に含まれる bench.mm の文字コードが EUC となっていたので,SJIS に変更しました。 | ||||||||||||||||
5.1.6.2 | (2000年10月23日) | MaTX/inputs/control/lyap.mm の計算に誤りがありました。
バージョン 5.1.0 以降に含まれる lyap.mm を以下の修正版に置き換えてくだ
さい。 MaTX/inputs/control/lyap.mm |
||||||||||||||||
5.1.6.1 | (2000年10月22日) | bench.mm に全角のスペースが含まれていたので削除しました。 | ||||||||||||||||
5.1.6 | (2000年10月19日) | fread がデータの読込みに失敗すると,警告を出力するようになりまし た。 | ||||||||||||||||
5.1.5 | (2000年10月4日) | VC++版について,環境変数 MATXCPP に 'cl' が設定されている場合は, cl を Cプリプロセッサとして使用するようにしました。MaTX本に書かれてい る仕様に合わせました。(5.1.3で生じた仕様とのギャップを修正しました。) | ||||||||||||||||
5.1.4 | (2000年10月2日) | 複素数の代入文をmatcでコンパイルすると正しいコードが生成されない 問題を修正しました。 | ||||||||||||||||
5.1.3 | (2000年9月15日) | WindowsのVC++版のデフォルトのCプリプロセッサをclにしました。 | ||||||||||||||||
5.1.2 | (2000年9月14日) | Ode関数群の引数として Matrix 型の diff_eqs や link_eqs を渡すと, 関数の実行後に,無名シンボルが残る問題を修正しました。 | ||||||||||||||||
5.1.1 | (2000年8月30日) | WindowsのVC++版でCプリプロセッサとして,clを正しく 呼び出せるようになりました。 | ||||||||||||||||
5.1.0 | (2000年8月29日) | ディレクトリ MaTX/inputs 以下のMM-ファイルを大幅に整理し, バージョンを5.1.0に変更しました。 | ||||||||||||||||
5.0.27 | (2000年8月22日) | 関数diag()に正方でない行列も渡せるようになりました。 | ||||||||||||||||
5.0.26 | (2000年8月4日) | 文字列中の文字を位置を後ろから調べる関数strrchr()を追加 しました。 | ||||||||||||||||
5.0.25 | (2000年7月26日) | 関数isinf()がmatcで,正しく動作しないバグを修正しました。 | ||||||||||||||||
5.0.24 | (2000年7月22日) | Cプリプロセッサが出力した付加情報行の次の行で parse エラーが
発生すると,付加情報行もいっしょに表示されるバグを修正しました。
matc のインタラクティブモードで,tab のコードが含まれると 動作がおかしくなる問題を修正しました。 |
||||||||||||||||
5.0.23 | (2000年7月21日) | 実行列の成分に,(複素数|多項式|有理多項式)を代入できるように
なりました。また,複素行列への(多項式|有理多項式)の代入,
多項式行列への有理多項式の代入もできるようになりました。
なお,実行列のある成分に(複素数|多項式|有理多項式)を代入すると,
その行列は(複素|多項式|有理多項式)行列に変換されます。 A = Z(2,2); s = Polynomial("s"); A(1,1) = 1; // A は実行列 A(1,2) = (0,1); // A は複素行列に変換される A(2,1) = s; // A は多項式行列に変換される A(2,2) = 1/s; // A は有理多項式行列に変換される |
||||||||||||||||
5.0.22 | (2000年7月20日) | MaTXに関連するファイルを 1 個も指定しないで matc を起動すると, エラーメッセージを出力し,終了するようになりました。 ただし,引数が 0 個のとき,プロンプトを出力し, インタラクティブモードで起動します。 | ||||||||||||||||
5.0.21 | (2000年7月19日) | (行列|配列|指数)の出力フォーマットを改良し, 型(行列|配列|指数)を表示するようになりました。 | ||||||||||||||||
5.0.20 | (2000年7月2日) | マイナス無限大が -Inf と表示されるようになりました。 | ||||||||||||||||
5.0.19 | (2000年6月30日) | mgplot内部の文字列管理を改良し,mgplotの高速化を行いました。 | ||||||||||||||||
5.0.18 | (2000年6月29日) | インタープリタ matx において,関数 error() の引数に 長さが0の文字列を渡しても,プログラムが停止するバグを修正しました。 | ||||||||||||||||
5.0.17 | (2000年6月29日) | インタープリタ matx において,関数 error() で プログラムを停止できないバグを修正しました。 | ||||||||||||||||
5.0.16 | (2000年6月29日) | ブロック行列の参照 AA(区間,整数,ピース行列)とAA(整数,区間,ピース行列) で, 正しい大きさの行列が得られないバグを修正しました。 | ||||||||||||||||
5.0.15 | (2000年6月28日) | LaTeX ライクな文字や日本語をラベルとして含むグラフをポスト スクリプトファイルに出力する関数 mgplot_psplus()を追加しました。 (gnuplot+の機能を用いる) | ||||||||||||||||
5.0.14 | (2000年6月26日) |
行列 A を read A <- "A.mx"; で読み込むコード含むファイルを matc でコンパイルすると, file.c:123: `MAT_T' undeclared (first use in this function) というエラーが発生するバグを修正しました。 |
||||||||||||||||
5.0.13 | (2000年6月23日) |
行列 A を print A -> "A.mx"; で保存するコード含むファイルを matc でコンパイルすると, file.c:123: `MAT_T' undeclared (first use in this function) というエラーが発生するバグを修正しました。 |
||||||||||||||||
5.0.12 | (2000年6月4日) |
fopen()のモードに文字 b を付けると,
「テキスト」ではなく「バイナリ」モードでファイルをオープン
できるようになりました。
【例題】 5 個の int 型のバイナリデータを読み込む。 fd = fopen("data", "rb"); B = fread(fd, 5, "int"); fclose(fd); 行列 A を int 型のバイナリデータとして保存する。 A = [1 2 3 4 5]; fd = fopen("data", "wb"); fwrite(fd, A, "int"); fclose(fd); |
||||||||||||||||
5.0.11b | (2000年5月21日) |
fsolve()で連立非線形方程式を解くと pm(2x1)((1x2)) : Index is out of range in MatGetVecSubMatrix(). Error was found in neconest() from nemodel() from fsolve() from main(). のようなエラーが発生するバグを修正しました。具体的には, 関数 neconest() で使用するベクトル pm の大きさを考慮するように しました。 以下のファイルを修正版に置き換えてください。 MaTX/inputs/matrix/fsolve.mm |
||||||||||||||||
5.0.11a | (2000年5月21日) |
gammac()の引数が実数のとき,大きな誤差が生じる。 というバグを修正しました。これは,実数で割り算をすべきなのに 整数で割り算をしていた箇所があったためです。 以下のファイルを修正版に置き換えてください。 MaTX/inputs/matrix/gammac.mm |
||||||||||||||||
5.0.11 | (2000年5月7日) |
行列のメモリ管理に関するバグを修正しました。 行列の計算中に core dump する場合は,このバージョンをお試し下さい。 |
||||||||||||||||
5.0.10 | (2000年5月3日) | 関数 error() を引数無しで呼び出すと動作が おかしくなるバグを修正しました。 | ||||||||||||||||
5.0.9a | (2000年3月22日) |
fsolve.mmの例題を実行すると, "file.mm", nelnsrch(List), Incorrect arguments Error was found in fsolve(). というエラーが発生するバグを修正しました。これは, fsolve から呼ばれる nelnsrch の呼び出しの時, btrack という行列が未定義なところから起きていたからです。 以下のファイルを修正版に置き換えてください。 MaTX/inputs/matrix/fsolve.mm |
||||||||||||||||
5.0.9 | (2000年3月18日) |
複素数型の関数を定義すると, "func(Undefine)", Redeclaration of function (Class) というエラーが発生するバグを修正しました。これは, ダイナミックリンク導入準備で混入したバグであり, ver. 5.0.7 と ver. 5.0.8 に存在します。 |
||||||||||||||||
5.0.8 | (2000年3月15日) |
Windowsで,mgplotが環境変数MATXGNUPLOTを参照する代りに
gnuplotを呼び出すためのラッパーpgnuplotが環境変数
MATXGNUPLOTを参照するように変更しました。
以下のファイルを修正版に置き換えてください。 MaTX/bin/pgnuplot.exe MaTX/inputs/graph/mgplot.mm |
||||||||||||||||
5.0.7 | (2000年3月14日) |
相関係数を求める関数corrcoef_col()とcorrcoef_row()
が正しい結果を返すよう修正しました。
以下のファイルを修正版に置き換えてください。 (Windows用) MaTX/inputs/matrix/corrcoef.mm MaTX/inputs/ja/matrix/corrcoef.mm (Unix用) MaTX/inputs/matrix/corrcoef.mm MaTX/inputs/ja/matrix/corrcoef.mm 標準偏差を求める関数 std(), std_col(), std_row() について,データの個数 N ではなく,N-1 で平均偏差の和を 割るよう修正しました。標本分散から不偏分散に変更しました。 |
||||||||||||||||
5.0.6 | (2000年2月19日) |
ヘッダファイルのディレクトリを指定するオプション
-MM をWindows版で指定したとき,ロングファイル名
からショートファイル名への変換が正しくできない
場合があったので修正しました。 大きな行列などを作成しようとしてメモリが足り 無い場合でも,プログラムを終了せず,エラー リカバリーするようになりました。 |
||||||||||||||||
5.0.5 | (2000年1月28日) | ファイルを削除する関数 remove() とファイルの名前を 変更する関数 rename() を追加しました。 ディレクトリを作成する関数 mkdir(),ディレクトリを 削除する関数 rmdir() を追加し,ディレクトリを変更する コマンド chdir を関数 chdir() に変更しました。 mgplot.mmのsystem("rm " + file)をremove()を使うよう 修正しました。データファイルの削除が高速化されたはず? | ||||||||||||||||
5.0.4 | (2000年1月25日) | ユーティリティ関数の名前を統一するため組み込み関数の 内部関数の名前をmatx_name()からfunc_name()に変更しました。 | ||||||||||||||||
5.0.3 | (2000年1月18日) | (VC++版) Windows NT で一般ユーザがレジストリにアクセス できるようにするため,レジストリをオープンする際の lpClassをKEY_ALL_ACCESSからKEY_QUERY_VALUEに変更しました。 | ||||||||||||||||
5.0.2 | (2000年1月18日) | DJGPP版の開発環境を DJGPP-2.02 に移行しました。 | ||||||||||||||||
5.0.1 | (2000年1月14日) | Visual C++ 6.0に対応。matxとmatcのバージョンを統一。 バージョン番号を3桁で表すことにしました。 Solaris版のパッケージのインストール時に大量の警告が出る問題を 解決しました。 | ||||||||||||||||
5.0 | (2000年1月6日) | MaTX本の発売に合わせて,バージョンを5.0としました。 |