匿名関数、サブ関数、プライベート関数や機能の他のタイプ
無名関数:
匿名関数は名前がありません、また発現のみ入力および出力パラメータが含まれています.Mファイルです。
Fxy=@(x,y)x.^y+3*x*y
X、Yは、入力パラメータである、FXY関数名であります
機能:
MATLABでの関数は、複数の.mファイルを書き込みます。ファイル名とその最初がプライマリ関数と呼ばれ、同じ名前の主な機能は、機能、他の機能は、外部プログラムは、main関数を呼び出すことができ、保存し、サブルーチンと呼ばれているが表示されます。
特徴:
- 関数は、同じファイル内の他の関数によって呼び出すことができます
- 名前でプライオリティサブルーチン呼び出し関数を呼び出し、その後、組み込み関数を呼び出します。
- 同じファイルの主な機能、独立したサブ機能作業領域、入力および出力パラメータによって実現様々な機能との間の情報の転送。
- ヘルプ、lookfor子関数に関する情報を表示しません
関数F = ex4_19(N)
A = 1。
2 = W。
PHI = PI / 2。
信号= createsig(A、PHI、W)。
F =信号^ N。
%%%%%%%%サブ関数%%%%%%%%%%
関数信号= createsig(A、W、PHI)
X = 0:PI / 100:2 * PI。
信号= A * SIN(* X +料W)。
プライベート関数とプライベートディレクトリ:
プライベート関数は、プライベートディレクトリプライベートにある関数ファイルを参照します。
特徴:
- プライベート関数と同じ構造と正常な機能。
- プライベート関数は、Mファイルは、専用のディレクトリに直接呼び出すことができます。
- 使用説明書には、プライベート関数、MATLABのみに優先順位第二の組み込み関数とサブルーチンを呼び出します
- プライベート関数についての情報を表示するヘルプ、lookforありません。
たとえば、MATLABに位置® ファイル検索パスフォルダ、プライベートフォルダのサブフォルダの名前を作成します。パスにプライベート追加しないでください。findme.mファイルのプライベートフォルダの名前では、関数を作成します。
関数findme
%FINDMEプライベート関数の例。
DISP(「あなたはプライベート関数を発見しました。」)
プライベートフォルダレベルのディレクトリのフォルダにvisible.mファイルの名前を作成します。
目に見える機能
私を見つけて
最初に実行した後、機能可視findmeを実行します
オーバーロード機能:
そして、他のプログラミング言語の言語は再ボードオーバーロード関数と同じ意味、実際の使用に同じ名前の異なる入力パラメータ、関数のオーバーロードは、正しいパラメータと実行に対応する関数を呼び出します
evalの機能とfevalを:
- テキスト変数と組み合わせて使用評価機能、構文の特定での使用:
evalの(S);
sが文字列である、のeval関数は、式またはステートメントのテキスト文字列を評価するために実施することができます。
例:eval_exp1:
配列= 1:5。
文字列= '[配列* 2;配列/ 2; 2. ^配列]'。
出力=のeval(文字列)
結果:
出力=
2.0000 4.0000 6.0000 8.0000 10.0000
0.5000 1.0000 1.5000 2.0000 2.5000
2.0000 4.0000 8.0000 16.0000 32.0000
得られた値eval関数文字列
例:eval_exp2:
シータ=パイ。
evalの( '出力= EXP(罪(シータ))');
誰
結果:
eval関数は、文の文字列を行い、
- fevalの機能
[y1,...,yN] =
Faevl(fun,x1,...,xM)
命令実行楽しみ関数の意味は、関数ハンドルに似×1、×1 ............ .xM操作を、パラメータ
例:feval_exp1.m
配列= 1:5。
文字列= '[配列* 2;配列/ 2; 2. ^配列]'。
Outpute =のeval(文字列)
Outputf = fevalを(文字列)%fevalをのみ関数名、エラーの例を受け付けます
結果:
例:feval_exp2.m
楽しい=「ラウンド」
X = 2.5。
出力= fevalの(楽しい、X)
結果:
Y =
ラウンド の 各要素を最も近い整数に丸められます。他の場合、その要素小数部分を正確に するとき、ゼロからのラウンド関数は、より大きな振幅を有する整数に丸めます。(
X
)
X
0.5
インライン関数は:将来のリリースでは削除されます inline
。代わりに、使用する 無名関数を。(そして、そのためだけ理解)
含まインライン(expr)は記載のMATLABのexpr (登録商標) 発現は、インラインオブジェクトを構築します。インライン関数の入力パラメータは自動的にexprの単離された小文字(IまたはJを除く)、英字複数の構成単語の一部ではない小文字のアルファベット文字を検索することによって決定されます。そのような文字が存在しない場合は、Xを使用します。文字が一意でない場合、xに最も近い文字が使用されます。あなたは2つの文字を見つけた場合は、アルファベットの文字が後方に選択します。
インライン構成ARG1の(exprは、ARG1、ARG2、...)、ARG2 ...インライン関数は、入力パラメータを指定しました。あなたは、複数文字のシンボル名を使用することができます。
インライン(exprは、N)(Nはスカラーである)インライン関数入力パラメータx、P1、P2、...のを構成されています。
例:この例では、数値を二乗する簡単なインライン関数を作成します
例:この例では、= 3sin式F(2×表現するインライン関数作成2)。生成されたインライン関数を使用してもよい argnames
し、 formula
関数が計算します
4つのコマンドに関連したインライン関数:
- CHAR(FUN)インライン関数は、文字の配列を変換します。これは、まったく同じ式(楽しい)です。
- argNames(fun)は文字インラインベクターの形態で楽しい携帯アレイ入力パラメータ名オブジェクト返します。
- 式(fun)は式インラインオブジェクトの楽しさを返します。
- 楽しみに式(楽しい)でベクトル化します。^、*、または/「任意の前に介在。結果は、インライン関数のベクトル化バージョンです。
優先機能:[LZ1]
このトピックでは、MATLABを記述する® 同じ名前で複数の機能の際に現在のスコープ呼び出される関数を決定する方法。現在のスコープは、現在の関数を実行するために、現在のフォルダのオプションプライベートサブフォルダへの相対ファイル、およびMATLABカレントフォルダパスを含んでいます。
次の優先順位を使用してMATLAB:
- 変数
決定する前に名前と機能が一致すると、MATLABは、まず、現在のワークスペース内の変数の名前をチェックする必要があること。
注意:
あなたは変数と同じ名前の関数を作成する場合は、メモリから変数をクリアするまで、MATLABは、機能を実行することはできません。
- 機能インポートされたパッケージ
特定のフォルダに関連付けられているパッケージの機能。使用して import
、同じ名前の他のすべての機能よりも優先される機能パッケージのインポート機能を、。
- 関数内の現在のネストされた関数
- 現在のファイルのローカル関数
- プライベート関数
プライベート関数は、名前のためにある private
フォルダのサブフォルダ機能(ファイル、フォルダの下にいること、現在実行されているファイルフォルダ)。
- オブジェクト関数
目的関数は、入力パラメータのリストに特定のクラスのオブジェクトを受け付けます。同じ名前のオブジェクトが複数ある場合は、クラスMATLABは、使用する機能を決定するために、入力パラメータをチェックします。
- @フォルダークラスのコンストラクタ
MATLABは、さまざまなオブジェクトを(のような作成するために、クラスのコンストラクタを使用しています timeseries
か audioplayer
)、あなたはまた、独自のクラスで定義されたオブジェクト指向プログラミングを使用することができます。あなたは、クラスフォルダ作成した場合たとえば、 @polynom
およびコンストラクタを @polynom/polynom.m
、コンストラクタはのパスで指定された任意の場所より優先されます polynom.m
他の機能。
- ロードされたSimulink ® モデル
- 現在のフォルダ機能
- 他のパス位置、表示順序の機能
次の順序でファイルの種類にかかわらず同じファイルフォルダ、MATLABでの優先機能の決定:
- 組み込み関数
- MEX機能
- アンロードのSimulinkモデルファイル、次の順序でのファイルの種類:
- SLXファイル
- MDLファイル
- (MATLABアプリケーション設計ツールアプリケーションファイルを使用して作成
.mlapp
) .mlx
プログラムファイルの拡張子- Pファイル(即ち、を有する
.p
符号化プログラムのファイル拡張子) .m
プログラムファイルの拡張子
MATLABは、同じフォルダに同じ名前を検索した場合たとえば、 .m
ファイルとPファイル、それはPファイルを使用しています。Pファイルが自動的に再生成されないため、そのPファイルの編集中にファイルを再構築してください。
特定の入力のために呼び出されるMATLABの機能を決定するために、してください which
関数名を含め、通話機能を入力してください。
[LZ1]機能の実行順序は、知識注釈フォーカスによってカバーされていないいくつかの機能は、ときに、関数の実行順序に関する問題を見つけることは容易で会いました