問題タブ [function-handle]
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 - 関数ハンドルはいつ渡すことができますか?
キャッシュされた評価のための関数があります。引数の 1 つとして、関数ハンドルを取ります。状況によっては、関数ハンドルにアクセスできないことがありますが、その理由はよくわかりません。以下の例は、何が私を困惑させたかを示しています。
そのため、関数ハンドルを構造体のメンバーとして格納している場合、1 レベルの深さであれば問題なく渡すことができますが、2 レベルの深さでは渡すことができません。私の実際の使用例ではD
、さまざまなクラスの多くの (117) インスタンスを保持する構造体があるため、実際にはstct.obj.meth
、stct
は構造体、obj
はクラス インスタンス/オブジェクト、meth
はメソッドです。パス@stct.obj.meth
は失敗しますが、 を割り当てるA = stct.obj
と、パスは@A.meth
成功します。
どのような条件下で関数ハンドルを引数として渡すことができるので、スタックの下にアクセスできるようになりますか?
編集:上記のユースケースでは、すでに関数ハンドルである@
ため、単純に削除できます。@plus
ただし、次の状況を考慮してください。
この場合、前が必要です...@
A.a.mymeth
matlab - ループ内の Matlab 積分関数と関数ハンドル
「Outliers.m」は、上位レベルの .m ファイルから呼び出されます。変数はすべて上位レベルのファイルで定義され、Outliers.m によるアクセスのためにグローバルとして設定されます。このコードの目的は、Chauvenets Criterion を使用して外れ値を識別することです。そのためには、Integral 関数と関数ハンドルを使用して、ガウス分布の積分を計算する必要があります。テストとして特定の変数を入力すると、コードが機能し、適切な値が得られますが、ループで機能させることはできません。私のデータ セットは、それぞれ 1x30 の 7 つの個別のサンプルで構成されており、そのすべてを分析する必要があります。さまざまなエラーが発生し、積分ハンドルと関数ハンドルに関するガイダンスを読みましたが、解決策が見つからないようです...ヘルプやガイダンスをいただければ幸いです....ここに私のコードがあります:
matlab - Matlab:すべての引数を関数ハンドルに渡す
一連のファイルに対して多くの機能を実行します。そのため、すべてのファイルで手順を繰り返す代わりに、ファイルで関数を実行する関数を作成するのが論理的です。問題は、すべての関数の引数の数が異なることです! したがって、疑似コードは次のとおりです。
幸いなことに、私の場合、出力はほぼ同じであり、いくつかのダミーを追加してすべてを類似させることができます。しかし、とにかくそれらに同様に対処することがあれば、私は感謝します.
matlab - MATLAB で ODE 系を解こうとすると、次のエラーが発生します。
MATLAB で 2 つの方程式の ODE 系を解こうとすると、少し問題が発生します。
私が使用しているコードは次のとおりです。
このコードを実行すると、次のエラーが発生します。
タイプ 'cell' の入力引数に対して未定義の関数 'exist' があります。
スタイルの関数を作成したくない
このコードは関数コードに入れ子にすることを意図しているため、Simulink ファイル内の他のブロックの出力を入力として使用する必要がある Simulink の MATLAB Function ブロックに挿入されます。
Simulink で直接実行することはできません。そのコードは、実際には、独立変数が時間ではなく距離である、解決する必要があるより大きな方程式のセットの練習であるためです。
どんな助けでも大歓迎です。
ありがとう!