お客様: 大学の研究室様
ご依頼内容
- 研究で長年使ってきた解析・描画ソフトウェアが、旧バージョンのMATLABでは動くものの、最近のバージョンでは一部の機能がエラーで停止するため、新しい環境でも使えるようにしたい、というご相談。
- 原開発者によるアップデートが行われておらず、数百ファイル規模のコードを自力で直すのは難しい、という状況だった。
- 旧バージョンで得られた数値と同じ結果を、新しい環境でも再現したい。
課題
- 複数の非互換箇所を特定し、停止していた機能を復旧すること。
- 出力を、旧バージョンの結果と一致させること。
- 原コードの構成を保ったまま、改修箇所を追跡できる状態にすること。
ソリューション
- ヒストグラム関数のビン仕様の差を吸収するラッパを作成し、旧バージョンと同じ集計結果が出るようにした。
- UI部品の設定順、廃止されたプロパティ、再帰の上限といった非互換を、一つずつ解消した。
- 組込関数と名前が衝突する関数を、リネームして切り分けた。
- 非線形推定の関数へ渡すヤコビアンの形式を、新しいバージョンの仕様に合わせて変換した。
- メニューや線種の廃止仕様を確認し、表示機能を保てる範囲で、指定を更新した。
- 移行の途中で見つけた探索範囲と座標変数の不具合を、旧バージョンと比較して是正した。
- 起動確認だけで終わらせず、停止していた個別の機能まで実行し、旧バージョンの結果と突き合わせて確認した。
- 改修した箇所にはマーカー付きのコメントを残し、比較用の原本と併存させる構成で納品した。
- 断面図に関する追加の課題では、関連する表示・保存の関数をまとめて改修した。

結果
- 停止していた機能群が新しいMATLABで動作し、旧バージョンと同一の結果を再現できた。
- 断面図の表示を中心とした追加の課題にも、続けて対応した。
- 長年育ててきた解析環境を、旧バージョンのMATLABに縛られずに、使い続けられる状態になった。
- 改修の理由と箇所を後から確認できるため、お客様側でも変更内容を追える形になった。
ひとこと
- 「昔作ったMATLABのプログラムが、新しいバージョンで動かなくなった」というご相談は、研究の現場から多くいただきます。原コードの構成を保ったまま、動く状態に戻すところまでお引き受けしています。
- 移行で手間がかかるのは、文法の置き換えよりも、関数の仕様変更によって数値が変わっていないかの確認です。旧版と新版の結果を突き合わせながら進める方法は、MATLABに限らず、他の言語やライブラリの移行でも同じように使えます。
お問い合わせ
開発事例にご興味ありましたら、お気軽にお問い合わせ下さい。
下記の、「今すぐお問い合わせ」をクリックして、フォームにご記入下さい。
早急に回答致します。


