MEXW64ファイルの読み込みについて

R2013a student ver.を使用しています. MEXW64ファイルがある解析プログラムを起動するとMEX64ファイルを読み込む際,
(タイプ'double' の入力引数) が未定義です。
と出力され,エラーとなります.MEX64ファイルの読み込みはどのようにすれば良いのでしょうか.
ご教示の程よろしくお願い申し上げます.

 Respuesta aceptada

michio
michio el 26 de Abr. de 2018

2 votos

MEXW64 ファイルは読み込むというよりは、入力引数を与えて実行する関数ではないかと想像していますが、単純に呼び出し方が間違っている(入力引数として想定外のものを与えている)場合に「(タイプ'double' の入力引数) が未定義です。」とのエラーがでることがあります。まず仕様を確認してみてください。
例えば
struct2cell(1)
構造体を cell 配列に変換する MATLAB の関数ですが、入力として数値 (double 型) の 1 は想定外であるため、実行すると
関数 'struct2cell' (タイプ'double' の入力引数) が未定義です。
とエラーがでます。

6 comentarios

michio
michio el 28 de Abr. de 2018
Editada: michio el 28 de Abr. de 2018
KT さんからのコメントをこちらに転記させていただきます。
**(以下原文ママ)****
ご回答ありがとうございます.
mexw64とは64bitのMATLABでないと読み込めないということではないのでしょうか?
エラーが起こるフォルダには添付のようになっています.また現在のエラーコードは以下です.
関数 'LPCA_DWI' (タイプ'double' の入力引数) が未定義です。
エラー C:\Users\Macintosh\Desktop\Documents\MATLAB\DWIDenoisingPackage_r01_pcode\DWIDenoisingPackage\DWIDenoisingLPCA.p>DWIDenoisingLPCA (line 51)
エラー MainDWIDenoising (line 206) DWIdenoised = DWIDenoisingLPCA(ima, beta, rician, nbthread, verbose);
そもそもMATLAB上でLPCA_DWIを開くと文字化けしてコードが見れません.
よろしくお願い致します.
michio
michio el 28 de Abr. de 2018
> mexw64とは64bitのMATLABでないと読み込めないということではないのでしょうか?
についてですが、ここで「読み込む」とは具体的にどういう作業のことを想定されておりますでしょうか。多くの場合 Cコードからコンパイルされたバイナリファイルであり、残念ながらコード内容を見ることは想定されておらず、できません。仕様などは LPCA_DWI の作成者に確認するのをお勧めいたします。
また、mexw64ファイルは通常 MATLAB 上で実行できる関数ですが、おっしゃる通り 64-bit の MATLAB(Windows 上)でのみ実行可能です。32-bit MATLAB で実行できるものは、代わりに mexw32 という拡張子が付いているはずです。32-bit MATLAB をお使いですか?
KT
KT el 2 de Mayo de 2018
ご回答ありがとうございます.
知識不足で大変申し訳ありません.プログラム上,最終的にLPCA_DWIにアクセスするようになっているため,私自身の考えではMEXファイル化されたプログラムが「実行される」と考えておりました.したがって,LPCA_DWIと名前が付けられたMEXW64ファイルを「読み込み」に行くと考えておりました. であるならば,student ver.は64bitに対応していないようなので,64bitMATLABであればプログラムが動くのではないかと考えています.
michio
michio el 2 de Mayo de 2018
Editada: michio el 2 de Mayo de 2018
そうですね。特に問題なければ 64bit MATLABであれば実行できるはずです。
Student バージョンも R2014a 以降であれば 64 bit 対応しています。64 bit OS をお使いであればインストールして試してみてください。現在使われているバージョンはわかりませんが、同じバージョン(もしくはそれ以降のバージョン)であれば追加費用は発生しません。
参考:
KT
KT el 2 de Mayo de 2018
現在使用しているPCはMacBookProで64bitですが,MATLABはbootcampしたWindows7で使用しています.このWindows7にインストールしてmexw64を実行することは可能でしょうか? 添付頂いた参考を読みましたが,Mac側(Linux側)にインストールしないとMATLAB 64bitは起動しないような気がいたしました.ご教示の程よろしくお願い致します.
michio
michio el 2 de Mayo de 2018
原理的にはその方法で、Windows 7 に 64bit MATLABをインストールすれば、mexw64 を実行できると思います。
もうすでに Widows 7 上で MATLABは実行されているようですので大丈夫かとは思いますが、いくつか関連しそうな質問があったので、何かトラブルがあったときの参考まで。

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

KT
el 24 de Abr. de 2018

Comentada:

el 2 de Mayo de 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!