問題タブ [matlab-class]
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 - MATLAB が classdef のブレークポイントを削除するのはなぜですか?
自分で作成したのではないオブジェクト指向アプリケーションを MATLAB R2011b でデバッグしようとしています。これを行うには、 のメソッドにブレークポイントを配置しますclassdef
。私の知る限り、これは許可されています。しかし、アプリケーションを実行すると、不思議なことにブレークポイントが消えてしまいます。
clear
次のようにブレークポイントを設定しました。
がいつclear
呼び出されているかを確認します。アプリケーションを実行する前に、dbstatus でブレークポイントの存在を確認します。
(問題のブレークポイントはリストの最初のものです。) アプリケーションを実行すると、最初のクリアが呼び出される前に classdef のブレークポイントが消えます。
ブレークポイントがクリアされる場所を特定するために、ブレークポイントをルート関数の先頭に徐々に近づけていき、問題のあるコード行を見つけました。
そして案の定、 を呼び出すとcd
、たとえ間接的であっても、 内のブレークポイントがクリアされますclassdef
。つまり、run
まったく同じことを行います。これは腹立たしい行為です。なぜ MATLAB はこれを行うのでしょうか? これを行わないようにするにはどうすればよいですか?
python - MATLAB の GPIB を PyVISA に変換する
GPIB 接続を介して XYZ ステージをプログラムするために使用される MATLAB コードをいくつか継承しました。Python の既存のコードとの互換性を高めるには、PyVISA パッケージなどを使用して何らかの方法で翻訳する必要があります。私は本当にそれでいくつかの助けが欲しいです!
だから、私がこれまで取り組んできたことは、基本的なことです。
これから、識別コマンドを使用して、デバイスの ID を正しく取得できます。
では、次の MATLAB を適切な PyVISA コマンドに変換する方法はありますか? 私の最大の問題は、構文を翻訳する方法が本当にわからないことです...
matlab - 関数ハンドルを入力引数として検証するにはどうすればよいですか?
関数ハンドルをその の 1 つとして持つクラスがありますproperties
。
hfun
入力引数が 1 つの入力と 1 つの出力を持つ関数ハンドルであることを確認したいのですが、それ以外の場合はエラーになります。さらに具体的に言えば、この関数が Nx3 配列を入力引数として取り、出力引数として Nx3 配列を返すようにしたいと思います。
上記のコードは のような組み込み関数に対して機能しますが、f = @sqrt
のような無名関数を入れようとすると、無名関数を として扱うため -1 になります。さらに、 のようなクラス メソッドにハンドルを入力すると、との両方に対して -1 を返す形式に関数が変換されます。f = @(x) x^(0.5)
nargout(hfun)
[varargout] = f(x)
f = @obj.methodFun
[varargout] = f(varargin)
nargin
nargout
関数ハンドルを入力引数として検証する便利な方法を見つけた人はいますか? どのような種類の関数ハンドルから独立していますか?
matlab - Matlab で異なるクラスのオブジェクトのプロパティに依存する依存プロパティを取得する方法
以下のコードを参照してください。
Ex_ObjA.m
Ex_ObjBC.m
私は次のことをしようとしました:
「Get メソッドには入力が 1 つだけ必要です」ため、成功しませんでした。だから私は取得するために渡すことができs1.a
ますか?Ex_ObjBC
s1.c
matlab - matlabで通常の方法を使用する
私はOopで少し錆びています。次のコードがあります。
2by2 の対角行列のクラスを作成しようとしています。メソッドの定義に問題があります。私は方法を持っています
これにより、オブジェクトが対角行列に変換されます。しかし、このメソッドを使用しようとするとエラーが発生します
a = diag2by2(1,2)
a =
プロパティを持つ diag2by2:
a.matrix() クラス diag2by2 に適切なメソッド、プロパティ、またはフィールド マトリックスがありません。
誰かがこれで私を助けることができますか?
編集:クラス全体が投稿されました
matlab - Matlabリスナーの複数実行
MATLAB リスナー PreGet と PostGet の使用に問題があります。私の目的は、書き込み中および呼び出しプロパティを作成しているとき (各読み取り/書き込み操作の前後) に一連の関数を実行できるようにすることです。これは私のクラスの例です:
MATLAB 実行例:
これで万事順調。関数を実行して、必要な結果を得ることができます。ただし、MATLAB on の「タブ補完」機能を使用し、4 回実行されることを観察しmyTest.myProp
ましPreGet
たPostGet
!! 動的構造である場合myProp
があり、タブ補完を使用してそのフィールドにアクセスしています。
これが実行されないようにすることは可能ですか?または、少なくともそれを検出するためにそれを防止しない場合は? タブ補完が実行されたときに別の機能を実行できます (コマンド ウィンドウにヘルプやツールチップを表示するなど)。