問題タブ [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.

0 投票する
1 に答える
97 参照

matlab - コンパイル後にuitableが正しく表示されない

セル構造の GUI に埋め込まれた uitable があり、編集可能です。Matlab 環境内ではすべて正常に動作しますが、コンパイル後、uitable は空白でしか表示されません。まだ編集可能ですが、GUI には何も表示されません。

PS: arrayviewfunc とその他の関連関数をコンパイルに含めました。したがって、この場合、関数の欠落が潜在的な原因になることはありません。このバグは 2008b で修正されていますが、私は 2008a のライセンスしか持っていません。とはいえ、これは私のプログラムにとって非常に重要なので、2008a での回避策があればここで相談したいと思います。

どうもありがとう!

0 投票する
1 に答える
1131 参照

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コードジェネレータは持っていません(別の言語に自動翻訳するため)。

0 投票する
3 に答える
12399 参照

c++ - Matlab を C++ に変換する

一部の MATLAB コードを C++ に変換する必要があります。Visual Studio 2010 を使用しており、MATLAB コンパイラがインストールされています。私はこれをどのように行うのだろうかと思っています。

また、プロジェクトを公開するとき、エンド ユーザーは MATLAB で何かをインストールする必要がありますか? (これはあり得ません)

0 投票する
1 に答える
1198 参照

matlab - Matlab:外部 API からコンパイルされた m コードの進行状況を調査する方法は?

私の質問は、matlab コンパイラとランタイムの謎に非常に固有のものです。matlab ランタイム API に詳しい人だけが答えるかもしれないので、多くの詳細を省略しました。もっと冗長にする必要があるかどうか教えてください。

序章

matlab コンパイラとランタイムを使用して、m コードで記述された関数を C# プログラムから呼び出すことができます。呼び出すとしましょう:

(C#コードのいくつかのdllimportの後ろのどこかに):

これまでのところ、問題はありません (つまり、ランタイムの初期化、「.cft」ファイルのロード、.Net 型を使用した MxArray の前後のマーシャリングなど...)。

私の問題

一部のコールバックfooを使用して、関数の進行状況を調査したいと思います。cancelprogress

しかしもちろん、これらのコールバックを m-one 内ではなく、C# コード内に配置したいと考えています。

調査

  1. 「mclmcr.h」ヘッダー ファイルを見ると、次の関数が役立つようです。

    残念ながら、これらは完全に文書化されておらず、それらがどのように機能するかを理解するために模倣できるユースケースは見つかりませんでした.

  2. また、C# で COM 可視オブジェクトを作成し、それをパラメーターとして matlab コードに渡すことも考えました。

     

    数値配列と構造配列を作成する関数に精通しており、それらの使用方法を知っています。

    とにかく、COM オブジェクトが MxArray にどのようにパッケージ化されているかわかりません。

さらなる調査

日+1

まだ不安定な場合でも、matlab を C# コードにコールバックすることに成功しました。それmclCreateSimpleFunctionHandleが進むべき方向のようです。

注: 以下のコードは参考用です。そのままでは、独自のコンテキストに適していない場合があります。後で簡単なコードを提供します (つまり、安定したソリューションが得られたら)。

  1. の署名を見て、次のmxFunctionPtrような 2 つのデリゲートを作成しました。

    /li>
  2. また、次のようにランタイムにリンクしました。

    /li>
  3. MxArrayハンドルを単純にカプセル化する私の .NET クラスであると仮定すると、mxArray*次のようにデリゲートをマーシャリングしました。

    /li>
  4. 最後に、が(再び、低レベルAPIにカプセル化する私のクラス)moduleのインスタンスであると仮定すると、関数を呼び出して、次のように .NETデリゲートを入力することができました。MCRModulehInst*mclFevalfoocancel

    この .NET コードは正常に機能し、デリゲートfooへのコールバックを適切に作成しました。cancel

    唯一の問題は、非常に不安定なことです。私の推測では、私はあまりにも多くの匿名関数を使用しており、おそらくそれらのいくつかはあまりにも早く破棄されています...

    今後数日以内に安定したソリューションを提供しようとします(できれば、すぐにテストできるように、独自のコンテキストで読み取りおよびコピーアンドペーストするためのより単純なコードを使用してください)。

    で間違った方向に進んでいると思われる場合はお知らせくださいmclCreateSimpleFunctionHandle

0 投票する
4 に答える
7750 参照

matlab - Matlab デプロイ ツール - Windows スタンドアロン アプリケーション

プロジェクトの .exe ファイルを生成するために Deploytool を使用して、Matlab で Windows スタンドアロン アプリケーションを作成しようとしています。(ここで述べたように: http://www.mathworks.co.uk/products/demos/compiler/deploytool/index.html )。

問題は、Deploytool でファイルを追加して Build ボタンを押すと、mbuild -setup を使用してコンパイラをセットアップするように求められることです。そうするとき、私が得る唯一のオプションは次のとおりです。

いずれかを選択すると、次のようになります。

ビルド時に次のエラーも表示されます。

この問題を解決するのを手伝ってくれませんか。

前もって感謝します。

0 投票する
1 に答える
547 参照

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 を使用します。

0 投票する
2 に答える
2236 参照

windows - アプリケーションで開くコンソール ウィンドウを非表示にするにはどうすればよいですか?

アプリケーションと一緒に開くコンソール ウィンドウがあります。どうにかしてそのハンドルを見つけて非表示にするか、少なくとも最小化することはできますか? 任意の言語 (C++、C#、Visual Basic、バッチ ファイルなど) を使用できるとします。

Matlab でコンパイルされたすべてのアプリケーションにはコンソールがあるため、コンソールを削除できません。

0 投票する
1 に答える
1390 参照

matlab - コードパッケージを使用したMatlabコードから.mexへ

コードを C\C++ に変換して、Matlab で記述された関数を最適化したいと考えています。結果は、より大きな matlab コードの小さな部分であるため、matlab 内から呼び出すことができます。

たとえば、関数を .mex ファイルにラップされた C コードに変換するとうまくいきます。matlab coder パッケージがそれを助けることができると聞きました。

私はこのパッケージに慣れていないので、これを達成する最も簡単な方法は何ですか?

0 投票する
1 に答える
121 参照

matlab - Matlabコーダー-doubleの2次元行列を受け取る関数からのmex-動的サイズを指定する方法は?

私のmatlab関数は次のようになります。

パラメータMが動的な次元であることをMATLABコーダーに伝えるにはどうすればよいですか?次のようなオプションしか表示されません:assert(isa(M、'double')); または、Mが一定の次元を持つようにアサートします。

0 投票する
1 に答える
1396 参照

matlab - Matlab スタンドアロン アプリケーションがエラー "TooManyOutputs" で終了するのはなぜですか?

私はMatlabでスタンドアロンアプリケーションを作成しました。実際には動作し、目的の出力を表示しますが、出力を調べてDOS(スタンドアロンモード)で次のようなエラーメッセージを読むのに十分な時間がなく、すぐに閉じます。

どんな助けでも大歓迎です。