問題タブ [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.
string - クラスの定数プロパティである文字列のセル配列を反復処理できません
クラスの定数プロパティである文字列のセル配列を反復するのに問題があります。セル配列を 1 から最後までインデックス付けしようとするたびに、Matlab がクラッシュします。私は何が間違っているのでしょうか?
コードは次のようになります。
コンストラクター内では、1 行目は問題なく正常に実行されますが、2 行目で matlab がクラッシュします。なぜこれができるのか、私にはまったくわかりません。私を助けてください。
ありがとう。
matlab - MATLAB クラス プロパティについて
MATLAB ヘルプのこの例を検討してください。
この例は、構文に問題があるだけでなく、うまく機能しません。バージョンの問題かどうかはわかりませんが、R2013a を使用しています。
それは言う
未定義の関数または変数 'X'。MyClass のエラー (1 行目) classdef MyClass
を追加することで修正できますMyClass.X
が、これが目的であったかどうかはわかりません。
arrays - クラス内の未定義の関数または変数
MATLAB のターミナルでアクセスできるようにクラス プロパティを出力する方法は? 私の場合、配列をClassA
保存し、次のような出力を表示します。p
しかし、配列にアクセスしたいときは、常に未定義の関数または変数と表示されます。そのpublic
。
私のコード:
matlab - matlab クラスのベクトル化
虚数を表す MATLAB のクラスがあります。コンストラクターと 2 つのデータ メンバーがあります:real
とimag
. クラスのオーバーロード演算子で遊んでいて、行列で動作させたい:
しかし、for ループは使いたくありません。私は次のようなことをしたい:
しかし、なぜそれが機能しないのかわかりません...エラーは次のように言います:
「エラー + 出力引数が多すぎます」。
MATLAB では、高速化のために for ループを避けるのが良いことを知っています...これが機能しない理由と、MATLAB でのベクトル化について私の関数の例を使用して考える正しい方法を誰かが説明してくれますか?
前もって感謝します。
編集:私の複雑なクラスの定義:
matlab - matlab クラスの拡張: 組み込みクラスの新しいメソッド
2006 年に最後に改訂された完全なツールボックスを継承しました。これを最新バージョンの Matlab に更新する必要があります。このツールボックスは、いくつかのクラスを定義し、組み込みクラスのメソッドを定義します。より具体的には、制御システム ツールボックス クラス lti、ss、zpk、および tf のオブジェクト用にいくつかの追加メソッドを作成します。
最初の部分である新しいクラスの再構築はすでに完了しています。既存のクラスの新しいメソッドに問題があります。
コードは古いバージョンの Matlab で記述されているため、@lti、@ss、@zpk などのクラス フォルダーを使用して新しいメソッドを定義します。ここで、機能を維持する必要がありますが、すべての @ フォルダーが表示されるわけではない新しい OOP モデルを使用します。
誰もそれを行う方法を知っていますか?
matlab - Matlab クラス: 一貫性のない状態と 'PostSet' プロパティ リスナー
PostSet Listener と組み合わせたクラスの状態に一貫性がないという問題があります。
主な機能は次のとおりです。
propA と propB のリスナー関数では、両方のプロパティを同じサイズにする必要があります。残念ながら、setSize を使用すると、短時間の矛盾が生じます。
これを解決する方法:
- PostSet が後で実行されるように propA と propB を同時に設定する方法はありますか?
- 一貫性フラグを別のプロパティとして使用できます。しかし、リスナーの実行を遅らせる方法は?
- 独自の通知を定義することはできますが、事前定義された関数ですべてうまく機能しています。
matlab - MATLAB R2014b で PropertyEvent の新しい値にアクセスするにはどうすればよいですか?
バックグラウンド
MATLAB の以前のバージョン (R2013b など) では、軸ハンドルのYLim
プロパティにリスナーをアタッチして、軸の y 制限が変更されたときに通知する巧妙なトリックがありました。
これを使用して、これらの軸に表示されるデータのサブセットの要約統計を示す 2 番目の図を更新しました。そしてそれは最高でした!ズームインすると、2 番目の図が更新されます。偉大な。
新しい値が古い値と同じかどうかを確認できるため、PreSet
(ではなく)リスナーにすることで、不要な場合にこれらの統計を再計算することを回避できるため、便利でした。PostSet
問題
ただし、これは R2014b では機能しなくなりました。イベント リスナーをアタッチすることはできますが、イベントをトリガーすると、次のエラー メッセージが表示されます。
クラス event.PropertyEvent に適切なメソッド、プロパティ、またはフィールド NewValue がありません。
これは HG2 グラフィックス システムと関係があると思います。適切なブレークポイントを使用して、イベント データを確認できます。R2013b では:
R2014b では、次のNewValue
フィールドが欠落しているようです。
どこに行ったの?! 確かにアクセスする方法はあるはずです。設定しようとしている新しい値にアクセスできない場合、プロパティの事前設定イベント ハンドラーは役に立ちません。