問題タブ [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 - コンパイル後にuitableが正しく表示されない
セル構造の GUI に埋め込まれた uitable があり、編集可能です。Matlab 環境内ではすべて正常に動作しますが、コンパイル後、uitable は空白でしか表示されません。まだ編集可能ですが、GUI には何も表示されません。
PS: arrayviewfunc とその他の関連関数をコンパイルに含めました。したがって、この場合、関数の欠落が潜在的な原因になることはありません。このバグは 2008b で修正されていますが、私は 2008a のライセンスしか持っていません。とはいえ、これは私のプログラムにとって非常に重要なので、2008a での回避策があればここで相談したいと思います。
どうもありがとう!
matlab - 管理者権限なしで MCR をインストールできる最新の Matlab バージョンはどれですか?
GUI を Windows スタンドアロン アプリケーションにコンパイルしたい ( *.exe
)。主なアイデアは、アプリケーションを実行するための特権を必要とせずに、異なるコンピューターでアプリケーションを実行することです。
これらの手順を実行しているときにvcredist_x86.exe
、別のコンピューターで実行する場合は管理者権限が必要であることに気付きました。公式フォーラムで質問したところ、それは不可能であることが確認されました。
ここには、古いバージョンの別の興味深い代替手段もありました: How can I install the Matlab Component Runtime without Administrator rights when using MATLAB Compiler 4.6 (R2007a)
現在サポートされている方法がないという事実にもかかわらず、Matlab のどのバージョンまで特権なしでスタンドアロン アプリを実行できましたか?
私のバージョンは 2010b ですが、特権なしで MCR を実行できる可能性をサポートする最新バージョンを使用できます。私はMatlabコンパイラを持っていますが、Matlabコードジェネレータは持っていません(別の言語に自動翻訳するため)。
c++ - Matlab を C++ に変換する
一部の MATLAB コードを C++ に変換する必要があります。Visual Studio 2010 を使用しており、MATLAB コンパイラがインストールされています。私はこれをどのように行うのだろうかと思っています。
また、プロジェクトを公開するとき、エンド ユーザーは MATLAB で何かをインストールする必要がありますか? (これはあり得ません)
matlab - Matlab:外部 API からコンパイルされた m コードの進行状況を調査する方法は?
私の質問は、matlab コンパイラとランタイムの謎に非常に固有のものです。matlab ランタイム API に詳しい人だけが答えるかもしれないので、多くの詳細を省略しました。もっと冗長にする必要があるかどうか教えてください。
序章
matlab コンパイラとランタイムを使用して、m コードで記述された関数を C# プログラムから呼び出すことができます。呼び出すとしましょう:
(C#コードのいくつかのdllimportの後ろのどこかに):
これまでのところ、問題はありません (つまり、ランタイムの初期化、「.cft」ファイルのロード、.Net 型を使用した MxArray の前後のマーシャリングなど...)。
私の問題
一部のコールバックfoo
を使用して、関数の進行状況を調査したいと思います。cancel
progress
しかしもちろん、これらのコールバックを m-one 内ではなく、C# コード内に配置したいと考えています。
調査
「mclmcr.h」ヘッダー ファイルを見ると、次の関数が役立つようです。
残念ながら、これらは完全に文書化されておらず、それらがどのように機能するかを理解するために模倣できるユースケースは見つかりませんでした.
また、C# で COM 可視オブジェクトを作成し、それをパラメーターとして matlab コードに渡すことも考えました。
数値配列と構造配列を作成する関数に精通しており、それらの使用方法を知っています。
とにかく、COM オブジェクトが MxArray にどのようにパッケージ化されているかわかりません。
さらなる調査
日+1
まだ不安定な場合でも、matlab を C# コードにコールバックすることに成功しました。それmclCreateSimpleFunctionHandle
が進むべき方向のようです。
注: 以下のコードは参考用です。そのままでは、独自のコンテキストに適していない場合があります。後で簡単なコードを提供します (つまり、安定したソリューションが得られたら)。
の署名を見て、次の
mxFunctionPtr
ような 2 つのデリゲートを作成しました。と
/li>また、次のようにランタイムにリンクしました。
/li>
/li>MxArray
ハンドルを単純にカプセル化する私の .NET クラスであると仮定すると、mxArray*
次のようにデリゲートをマーシャリングしました。最後に、が(再び、低レベルAPIにカプセル化する私のクラス)
module
のインスタンスであると仮定すると、関数を呼び出して、次のように .NETデリゲートを入力することができました。MCRModule
hInst*
mclFeval
foo
cancel
この .NET コードは正常に機能し、デリゲート
foo
へのコールバックを適切に作成しました。cancel
唯一の問題は、非常に不安定なことです。私の推測では、私はあまりにも多くの匿名関数を使用しており、おそらくそれらのいくつかはあまりにも早く破棄されています...
今後数日以内に安定したソリューションを提供しようとします(できれば、すぐにテストできるように、独自のコンテキストで読み取りおよびコピーアンドペーストするためのより単純なコードを使用してください)。
で間違った方向に進んでいると思われる場合はお知らせください
mclCreateSimpleFunctionHandle
。
matlab - Matlab デプロイ ツール - Windows スタンドアロン アプリケーション
プロジェクトの .exe ファイルを生成するために Deploytool を使用して、Matlab で Windows スタンドアロン アプリケーションを作成しようとしています。(ここで述べたように: http://www.mathworks.co.uk/products/demos/compiler/deploytool/index.html )。
問題は、Deploytool でファイルを追加して Build ボタンを押すと、mbuild -setup を使用してコンパイラをセットアップするように求められることです。そうするとき、私が得る唯一のオプションは次のとおりです。
いずれかを選択すると、次のようになります。
ビルド時に次のエラーも表示されます。
この問題を解決するのを手伝ってくれませんか。
前もって感謝します。
matlab - Matlab Builder NE で COM サーバーをコンパイルしているときに、「説明: MCR インスタンスが利用できません」というエラーが表示され続けます。
Matlab Builder NE を使用して、Matlab 2011a で COM オブジェクトをコンパイルしようとしています。なんとかビルドしてパッケージ化し、デプロイし、COM サーバーを起動することさえできました。Matlabで次のコマンドを使用しています
c = actxserver('MyFirstComServer.Class1');
ただし、このハンドルでメソッドを実行しようとすると、次のようなエラー メッセージが表示されます。
c.GetNames(0,'')
??? Invoke Error, Dispatch Exception:
ソース: MyFirstComServer.Class1.1_0
説明: MCR インスタンスが利用できません
それに関連するものを Web で見つけましたが、役に立ちませんでした http://www.mathworks.com/support/solutions/en/data/1-2VS4TC/index.html?product=MN&solution=1- 2VS4TC
何をすべきか誰にも分かりませんか?
編集: Matlab からコンポーネントを呼び出す場合にのみ
問題が発生することがわかりました。これは、MCR の混乱で何かを行う必要がある可能性があります。COM コンポーネントは、Matlab が使用するのと同じ MCR を使用します。
windows - アプリケーションで開くコンソール ウィンドウを非表示にするにはどうすればよいですか?
アプリケーションと一緒に開くコンソール ウィンドウがあります。どうにかしてそのハンドルを見つけて非表示にするか、少なくとも最小化することはできますか? 任意の言語 (C++、C#、Visual Basic、バッチ ファイルなど) を使用できるとします。
Matlab でコンパイルされたすべてのアプリケーションにはコンソールがあるため、コンソールを削除できません。
matlab - コードパッケージを使用したMatlabコードから.mexへ
コードを C\C++ に変換して、Matlab で記述された関数を最適化したいと考えています。結果は、より大きな matlab コードの小さな部分であるため、matlab 内から呼び出すことができます。
たとえば、関数を .mex ファイルにラップされた C コードに変換するとうまくいきます。matlab coder パッケージがそれを助けることができると聞きました。
私はこのパッケージに慣れていないので、これを達成する最も簡単な方法は何ですか?
matlab - Matlabコーダー-doubleの2次元行列を受け取る関数からのmex-動的サイズを指定する方法は?
私のmatlab関数は次のようになります。
パラメータMが動的な次元であることをMATLABコーダーに伝えるにはどうすればよいですか?次のようなオプションしか表示されません:assert(isa(M、'double')); または、Mが一定の次元を持つようにアサートします。
matlab - Matlab スタンドアロン アプリケーションがエラー "TooManyOutputs" で終了するのはなぜですか?
私はMatlabでスタンドアロンアプリケーションを作成しました。実際には動作し、目的の出力を表示しますが、出力を調べてDOS(スタンドアロンモード)で次のようなエラーメッセージを読むのに十分な時間がなく、すぐに閉じます。
どんな助けでも大歓迎です。