問題タブ [matlab-figure]
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.
user-interface - CPU を集中的に使用する関数から GUI 要素を更新するにはどうすればよいですか?
ここに私の問題があります.GUIと関数(func1)が私の図の.mファイルの外側に書かれています。また、GUI にボタンがあり、launch func1 を押すと、この関数は非常に CPU を集中的に使用し、finsh の前に多くの時間がかかる可能性があります。静的テキストなど)。
私が最初に考えたのは、func1 に、GUI が読み取れるテキスト ファイルに情報を書き込むようにすることでしたが、そのためには、GUI 側である種のマルチスレッド プログラミングが必要であり、matlab にはそのようなものはないように見えます。
2 番目に、GUI に関連する .m ファイル内の update(message) 関数を呼び出すように func1 を作成しようとしましたが、update はサブ関数であり、外部のサブ関数を呼び出す方法がないように思われるため、機能しませんでした。それを含むファイル。
誰かがそれを手伝ってくれませんか?私の悪い英語でごめんなさい。
matlab - Matlabで設定されたコールバックの戻り値を作成する方法は?
多くの matlab プロットを体系的に分析できる小さなスクリプトを作成したいと考えています。スクリプトを使用すると、グラフ内のいくつかのポイントをクリックできるようになり、スクリプトはこれらの値を保存します。コールバック関数に座標が含まれるようになりましたが、これらの値をメイン ファイルに格納する必要があります。ただし、set 関数は関数から値を受け取ることができません。これを回避するために別の構造を作成するにはどうすればよいですか? [x,y] = set(f,'ButtonDownFcn',{@Click_CallBack a}); 残念ながら機能しません..
プロットから座標を抽出する関数:
matlab - Figure を eps ファイルとして保存すると、Matlab がカラーマップ ラベルを切り取る
カラーバー付きのcontourfを使用して生成された図があります。私のプロットのほとんどは問題ありませんが、カラーバーの値が次10^{-3}
の場合、数値0.005
などがカラーバーによって書き込まれるかx10^{-3}
、上部に書き込まれます。
3
どちらの場合も、ラベルの一部 ( inまたはinx10^{-3}
の半分)が切り取られます。5
0.005
これを使用して修正できます
画面上の図ですが、eps形式で保存する必要があります。こうするとまた3
(or 5
) が切れる!
Figure ウィンドウの右下隅を手動で引っ張って大きくすると、これを修正することもできます。しかし、これにより、プロット自体と比較して軸ラベルなどのサイズが変更されるため、他のすべての図、つまりサイズを変更しない図とは異なります。
助言がありますか?
user-interface - 現在開いているフィギュアの数を調べる方法は?
matlabで開いている図の数を知る方法はありますか?
matlab - Matlabで部分的に色付けされたテキストを表示するにはどうすればよいですか?
与えられた入力アルファベットに基づいて、文字列内のいくつかのアルファベットに色を付けようとしています。誰かが私にそれを達成する方法を提案できますか?私はこれに不慣れなので。
次の文字列があるとします: "AUSTRALIA"
入力:A
出力:(赤のA)'A'USTR(赤のA)' A'LI(赤のA)' A '
matlab - C++の「engine.h」を使用してMatlabでクォータニオンをプロットする
カルマンフィルターを使用するC++のアルゴリズムがあります。コードのどこかで、クォータニオンq'を予測してから、カルマンフィルターqでクォータニオンを更新します。
予測されたクォータニオンと修正された(更新された)クォータニオンの進化を伴う2つのグラフィックをMatlabにプロットしたいので、処理中にクォータニオン情報をMatlabに送信するために「engine.h」ライブラリを使用しています(実際に送信するのは4x1マトリックスです) 。
だから私の質問は:私が視覚的に情報を抽出できるようにMatlabでクォータニオンをプロットするための最良の方法は何ですか?角度を別々にプロットする方が良いでしょうか?
matlab - カラープロットを生成する
M*M
寸法単位セルのある領域にオブジェクトがあります。セルがカバーされてC=1/M * Sum(i=1 to M J(i))
いるときなどのカバー率。これは、セルの訪問とオブジェクトの訪問時間を表すカラースケールマップです。したがって、凡例は、反復回数が0〜8回訪問されたセルがあることを示しています。この色表現をどのようにコーディングできるか教えてもらえますか?これは何をどのように生成できますか?J(i)=1
i
0
N
matlab - Matlab プロットのフォント サイズの変更
xlabel
、ylabel
、軸のサイズ、凡例のフォント サイズ、つまりすべてを一度に変更したいのですが、可能ですか? デフォルトのフォントは Helvetica 10 です。
これを変更する方法はありますか?
xまたはyラベルに 'FontSize',14 を使用したいと考えています。
c++ - matlab で c/c++ コードを呼び出すことにより、matlab のプロットを高速化することは可能ですか?
mex
一般に、特定の計算を高速化するために、Matlab でファイル (c/c++ で記述)を呼び出すのは非常に簡単です。しかし、私の経験では、Matlab の真のボトルネックはデータ プロットです。ハンドルの作成には非常にコストがかかり、ハンドル データ (XData、YData、ZData など) のみを更新する場合でも、かなりの時間がかかる場合があります。さらに悪いことに、Matlab はシングル スレッド プログラムであるため、複数のプロットを同時に更新することはできません。
したがって、私の質問: Matlab GUI を作成し、プロット/視覚化を処理する C++ (またはその他の並列化可能なコード) を呼び出すことは可能ですか? Windows、Mac、Linux で動作するクロスプラットフォーム ソリューションを探していますが、いずれかの OS で開始できるソリューションは大歓迎です!
Matlab の構文を使用しているように見えるC++ ライブラリを見つけましたが、Matlab のウィンドウにプロットすると再び速度が低下するplot()
のではないかと心配しているため、これで速度が向上するかどうかはわかりません。figure()
以前にこの種の状況に対処したことのある人からのコメントやフィードバックをいただければ幸いです。
編集:明らかに、私はすでに自分のコードをプロファイリングしており、ボトルネックはプロットです(大量のデータを持つ多数のパネル)。
EDIT2:あなたが報奨金を得るには、これを行う方法に関する実際の最小限の実用的な例が必要です-示唆に富む回答は役に立ちません。
EDIT3:プロットするデータについて: 最も単純なケースでは、1000000 データ ポイントのようなもので毎秒更新する必要がある 20 のライン プロットについて考えます。
EDIT4:これはプロットするポイントが膨大であることは知っていますが、問題が簡単だとは決して言いませんでした。実際にプロットする前に、どのポイントが重要かを評価する方法がないため、特定のデータ ポイントを除外することはできません (データはサブミリ秒の時間分解能でサンプリングされます)。実際のところ、私のデータは、データ ビューアー (c++ で記述) が付属している市販のデータ取得システムを使用して取得されています。このプログラムは、1000000 を超えるデータ ポイントを含む最大 60 の折れ線グラフを問題なく視覚化できます。
EDIT5:現在の議論の行き先が気に入らない. データをサブサンプリングすると速度が向上する可能性があることは承知していますが、これは問題ではありません。ここでの質問は、ac / c++ / python / Java インターフェイスを matlab で動作させる方法であり、ハードウェアに直接話しかけて (または他のトリック/方法を使用して) プロットを高速化することを願っています。