問題タブ [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 - 無名関数を作成し、MATLAB で 1 行で引数を渡して呼び出す
次のような matlab で実行できます。
その後
ここで、無名関数を作成し、次のように 1 行で呼び出す方法を探します (機能しません)。
それを行う方法はありますか?
matlab - MATLAB で function_handle の導関数を取得する
function_handleの導関数を他のfunction_handleとして取得することは可能ですか?
お気に入り:
シンボリック関数の導関数を見つける方法は知っていますが、function_handle をシンボリック関数に変換できません。
私はmatlabが初めてで、それを行う方法が見つかりませんでした。前もって感謝します。
function - 関数ハンドルを関数の引数として渡すことはできません
私はMatlabが初めてで、引数の1つとして関数ハンドルを取るカスタム関数をmatlabで記述しようとしています。私はいつもこのエラーを受けています:
デバッグしようとして、次のテストを実行しました: I run command x = fminbnd(@humps, 0.3, 1)
. 私は期待通りに進みました - 私は結果を得x = 0.6370
ました。そこで、呼び出されるカスタム関数を作成しtrain
、関数のすべてのコードをfminbnd
ファイルにコピーしましたtrain.m
。私が変更したのは名前だけなので、関数のコードはfminbnd
名前train
を除いて同じになりました。
今、同じ引数で両方の関数を実行すると、カスタム関数はエラーをスローしますが、オリジナルfminbnd
は正しい答えを返します。コードは次のとおりです。
関数のヘッダーは次のとおりtrain
です (他のすべてはからコピーされますfminbnd
)。
問題はどこだ?
function - 関数を引数として別の関数に渡すと、引用符を使用せずにコンパイルされません''?
関数をBase関数に渡すと(それを呼び出しましょうf
)、Base関数は、引用符f
を使用せずに関数を認識しません''
。コードは次のとおりです。
そしてこれはf.m
:
コマンドラインから引用符で囲んで実行すると:
しかし、私がそれらを削除すると:
私の間違いはどこにありますか?なぜ実行できないの[y] = test(0,1,10,f)
ですか?
ありがとう
function - 関数ハンドル MATLAB への任意の数の関数の追加
MATLAB で .bmp グラフィックスを生成しようとしていますが、関数を合計するのに問題があります。任意の入力セットが与えられると、関数が任意の数の関数を一緒に追加し、関数ハンドルを出力するように関数を設計しています。入力は一般的な関数の係数であるため、任意の数の関数 (係数のみが異なる) を指定して、それらを関数ハンドルに追加できます。私がやろうとしたことは、各関数を文字列として作成し、それらを連結して関数ハンドルとして書き込むことです。主な問題は、(関数ハンドルを作成しようとしているために) x と y が定義されていないため、MATLAB がそれらを定期的に追加できないことです。私の現在の試み:
どんな助けでも大歓迎です。私はこれについてここであまり見たことがなく、これが完全に可能かどうかさえ確信が持てません. 私の質問が明確でない場合は、そう言ってください。もう一度やり直します。
編集: x と y が定義されていないため、最後の行から 4 番目の行は数値を生成しません。関数ハンドルの一部として保持する必要があるため、それらはできません。私のコードの簡素化されたバージョンについては、うまくいけば、これがポイントになります:
編集これは、任意の数の関数の合計である単一の関数ハンドルを出力することを期待しています。ただし、文字列を使用することが最善の方法であるかどうかはわかりません。
matlab - matlab の関数ハンドル エラー
関数 handle を呼び出したいのですmodel_jacobian
が、「Error using ==> horzcat CAT 引数の次元が一貫していません。」というメッセージが表示されます。a
と coefs の両方をd
jacobian に残す関数を選択すると、すべて正常に動作します。
では、引数が使用されていないにもかかわらず、引数を使用して関数ハンドルを呼び出す方法は?
gradient - Octave: 特定の点における多次元関数の勾配を計算する
入力がベクトルで、関数がスカラーを返す特定のポイントで関数の勾配を見つけるために、次のコードを試しています。
以下は、勾配を計算しようとしている関数です。
これが私がグラデーションと呼ぶ方法です。
しかし、次のエラーが表示されます
このエラーを解決するにはどうすればよいですか?
matlab - Matlab:関数の2番目の戻り値をキャッチする関数ハンドルを定義する
foo
次のように定義された関数があるとしましょう
関数ハンドルを考えれば
たとえばcellfun
通話で使用する場合、私が取得するのは、次のように定義されf
たものと同等の動作です。foo
つまり、戻り値b
は失われます。
したがって、そのようなf
がcellfun
呼び出されると、出力セルにはa
sだけが含まれ、b
s(現在気になっている)が失われます。視覚的に
質問: sだけfoo
をキャッチする関数ハンドルを定義するにはどうすればよいb
ですか?foo
つまり、のような定義に類似した動作を与える
ie ^ 2、s を無駄a
にします。
さらに、(効率的に)両方a
とユニークな呼び出しb
をキャッチすることは可能ですか? cellfun
matlab - 行列のすべてのエントリが変数である場合、MATLABの行列の固有値を計算するにはどうすればよいですか?
以下のような未知の定数がたくさんある行列があります。
お気づきかもしれませんが、対角線に関して対称であるため、対角線の値はすべて正です。すべての定数が0より大きい。
matlabの固有値についてこれを解決したいと思います。どうすればこれを行うことができますか?a、b、c、d、eの値がわかりません。私はこのようなことをしたいと思います:
ただし、eig関数は関数ハンドルを受け入れません。