問題タブ [matlab-compiler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - Linux/Unix で実行されているスタンドアロンの MATLAB 実行可能ファイルにコマンド ライン引数を渡すにはどうすればよいですか?
Linux/UNIX で実行されているスタンドアロンの MATLAB 実行可能ファイルにコマンド ライン引数を渡すにはどうすればよいですか?
MATLAB が存在しないマシンで実行できるスタンドアロン ファイルとして MATLAB スクリプトをコンパイルする必要があります。C に似た方法で動作できる必要がargv[]
あります。次の操作を行います。
コマンドライン:
ここで、引数 1 と 2 は入力ファイルと出力ファイルです。
正確な構文は問題ではありませんが、次のように動作するはずargv[]
です。これを行うことができる機能は何ですか?
つまり、コンピューターに MATLAB がありますが、それらのコンピューターで MATLAB を使用せずに Unix システムで実行できるスタンドアロンの実行可能ファイルを作成する必要があります (1 つのノードに MATLAB しかないクラスターです)。プログラムを実行しているコンピューターに MATLAB をインストールせずに varargin 関数を作成する方法を見つける必要があります。MATLAB ライブラリを各実行可能ファイルに入れるように MATLAB に指示できれば、それが完全なスタンドアロン パッケージである限り問題ありません。
matlab - matlab linux バイナリをコンパイルする
私は matlab コンパイラのライセンスを持っており、exe ファイルを正常にコンパイルできます。プロジェクトを Windows マシンから Linux バイナリにコンパイルする方法はありますか?
matlab - 画像処理ツールボックスを使用したMatlab共有ライブラリのコンパイル
MatlabからC共有ライブラリをコンパイルしようとしています。私のMatlabコードは、多くの画像処理機能を使用しています。したがって、コンパイルは正常に行われますが、アプリケーションからdllを呼び出すと、次のようなメッセージが表示されます。
「double型の入力引数の未定義の関数またはメソッド'XYZ'」。
私は自分の引数が大丈夫であることを確認しました-それは型の問題ではありません。そこで、.mファイルに追加しようとし%#function XYZ
ましたが、何の役にも立ちませんでした。次に、-a
コンパイルコマンドでフラグを使用してみました。
しかし、それはコンパイルに失敗します:
Depfunエラー:'MATLABパス上の関数としてエッジを見つけることができません'
画像処理ファイルがコンピューター上にあり(matlabからすべてを問題なく実行できます)、パスがそれらを含むディレクトリを指していることを確認しました。
また、toolbox .mファイルを作業ディレクトリにコピーしようとしましたが、すぐに多くのファイルに膨れ上がります。また、一部の関数では、.mはなく(.mexのみ)、.dllにmexファイルを含める方法が見つかりませんでした。
私は何が欠けていますか?
matlab - .NET 依存関係とデータをカプセル化する列挙型を使用して dll をビルドするときの mcc コンパイラ "Depfun エラー"
.NET 統合とカプセル化データの列挙を使用する DLL を作成するときに、MATLAB R2010b で問題が発生しました。
例:
- MATLAB で使用される .NET アセンブリがあります。「MyAssembly」(MyAssembly.dll) と呼びましょう。
Matlab列挙型クラス「OpenMode」があります
このクラスは .NET 列挙を使用します: "MyAssembly.OpenMode" Matlab 列挙を介して .NET 列挙にアクセスするような方法で (私の場合はキャスト型に必要です): p>エクスポートする必要がある Matlab 関数:
p>- Matlab に .NET アセンブリを追加します (チェック中) /li>
- Dll をコンパイルしてみます。 ...そしてエラーを取得します: /li>
mcc コンパイラはコード列挙で「MyAssembly」が存在することを検出しませんが、次の関数は正常にコンパイルされます。
p>MATLAB で同様の問題に直面し、解決策を見つけた場合は、どうすればよいか教えてください。
ありがとう!
よろしく、アイアン
matlab - matlab で画像データベースを作成する
画像を表現しました。画像と説明をデータベースに保存したいのですが、どうすればよいですか。誰でも助けてください。
.net - MCRと.NETの非互換性
.NETモジュールを使用するMatlab(R2010b)アプリケーションをコンパイルしようとしていますが、MCRと.NETモジュール間の非互換性に関する問題に直面しています。
- .NETモジュールは、VisualStudio2010でコンパイルされます。
- MCRは、VisualStudio2010を使用するように構成されています。
- このアプリケーションには、Visual Studio 2010でビルドされたいくつかのMexファイルも含まれており、MatlabとMCRの両方で問題なく動作します。
Matlab cliからアセンブリをロードすると、すべてが正常に機能しますが、アプリをコンパイルしてcmd.exeから実行すると、現在ロードされているランタイムよりも新しいランタイムでアセンブリがビルドされていることを示すエラーがスローされます。MatlabR2010bはVisualStudio2008で構築されており、これが問題であると考えていますが、誰かが問題の解決策を持っているのではないかと思います。
debugging - スタンドアロンMATLABのデバッグコード
foo
スタンドアロンアプリケーションで使用される(つまり、を使用して実行可能ファイルにコンパイルされる)関数mcc -m
があり、重要な中間結果が得られるとしbar
ます。通常、関数の完了後にこの中間結果は必要ないため、戻り値ではありません。ただし、開発とデバッグの目的で、この中間結果にアクセスできるようにすると便利です。これはassignin
、中間結果をデバッグワークスペースに配置するために使用できます。
ここで問題となるのassignin
は、スタンドアロンコンパイルでは不可能であり、コードにが含まれmcc
ているとエラーが発生することassignin
です。私がやりたいのはassignin
、コードがインタラクティブに実行される場合のみを含め、スタンドアロンアプリケーションとしてコンパイルする場合は含めないことです。さらに、スタンドアロンアプリケーションでは中間結果が必要ないため、スタンドアロンアプリケーションで割り当てを行わないことで、時間やメモリを同時に処理できるため、処理速度が向上します。他のプログラミング環境では、これをデバッグおよびリリースモードでのコンパイルと呼びます。
疑似MATLABの場合:
問題は、を表現する方法がif ~standalone
わからないことです。まず、スタンドアロンモードであるかどうかをテストする方法がわかりませんが、さらに重要なことに、これは、実際にmccが保護されたものを完全に無視するようにするコード構造である必要があります。スタンドアロンモードではassigninをコンパイルできないため、コードブロックを実行し、コンパイルを試みないでください。
余談ですが、これは中間結果だけでなく、追加のデータ収集にも役立ちます。追加のデータは、保護されたブロックで計算され、を介してエクスポートされassignin
ます。明らかに、そのような余分なデータは、何の目的も果たさないため、スタンドアロンバージョンでは計算しないでください。
これを可能にするようなコード構造がmatlabにありますか、それともより良い代替手段がありますか?これまで、私はコメントされたコードをジャグリングし、開発プロセスを進めながらデバッグコードのコメントを外して再コメントしていました。
c# - コンパイルされたMatlab関数は1回だけ機能します
Matlab関数をCライブラリにコンパイルしています。私はC#アプリケーションからこのライブラリを使用しています。
Cライブラリで関数を初めて呼び出すと、すべて正常に機能しますが、2番目の呼び出しで例外が発生します-mlfMyfuncは、結果へのnullポインター挿入ポインターを返します(mlfMyfunc呼び出し後もoutput1およびoutput2パラメーターはIntPtr.Zeroです)
私DoubleArray
のクラス(関数のラッパーmx...
)は十分にテストされており、正しく機能すると思います。
問題がどこにあるのか分かりますか?
ありがとう。ルカス
C#コード:
解決:
この問題は、Matlabエンジンの初期化が繰り返されることが原因で発生しました。Analyze関数を呼び出すたびに、エンジンが初期化され(Native.Mcl.mclInitializeApplication
]、ブロック内で適切に終了されていても(Native.Mcl.mclTerminateApplication
)、finally
繰り返し初期化で問題が発生します。組み込みのmatlab関数は引き続き正常に機能しますが、ライブラリは機能しません。
mclInitializeApplication
解決策は、呼び出しをAnalyze関数の外に移動し、アプリケーションの存続期間中に1回だけ呼び出されるようにすることです。
matlab - .exe MATLAB ファイルの逆コンパイル
32KB の .exe MATLAB ファイルを逆コンパイルしようとしています。プロジェクトの m ファイルと図を抽出するBoomerangソフトウェアを試してみました。図は問題なく、MATLAB で表示できます。しかし、m-ファイルを開くと意味のない文字が含まれています。
m-files コードを表示するにはどうすればよいですか? 他の適切なソフトウェアを知っていますか?
どうもありがとうございます。
matlab - Windowsにコンパイラをインストールする方法は?(Matlabプログラムの場合)
このコードをダウンロードしました。
http://www.cs.sfu.ca/%7Emori/research/superpixels/superpixels64.tar.gz
readmeファイルには次のように書かれています。
- yu_imncutディレクトリの*.cでmex-largeArrayDimsを実行します。64ビットアーキテクチャには-largeArrayDimsが必要です(64ビットMATLABの修正を提供してくれたRichard Loweに感謝します)
- http://www.cs.berkeley.edu/projects/vision/grouping/segbench/からmfm-pb境界検出器コードを取得し ます。
- sp_demo.mおよびpbWrapper.mのパス名を変更します
- 高速プロセッサと大量のRAMを入手する
- sp_demo.mを実行します
mex-..を実行しようとしましたが、コンパイラがないことがわかりました。どうすればこれを修正できますか?これを手伝ってくれませんか。64ビットのWindows7を使用しています