function が 全ての 例文 及​び コマンド入力から​の 応答も エラーと​なります 教えて下さ​い 

1 回表示 (過去 30 日間)
Yoshifumi Harada
Yoshifumi Harada 2023 年 6 月 17 日
移動済み: Atsushi Ueno 2023 年 10 月 5 日
function ave = calculateAverage(x)
ave = sum(x(:))/numel(x);
end
このあとコマンドラインから
 z = 1:99;
ave = calculateAverage(z)
入力しても機能しません 教えてください
  2 件のコメント
Atsushi Ueno
Atsushi Ueno 2023 年 6 月 17 日
移動済み: Atsushi Ueno 2023 年 10 月 5 日
  • > R2016b 以降は、スクリプトに関数を定義するコードを含めることができます。
  • > これらの関数は "ローカル関数" と呼ばれます。
  • > すべてのローカル関数を、ファイルの末尾、スクリプト コードの後に追加します。
という事で、スクリプト部分とローカル関数部分の順序を入れ替えると期待通りに動作します。
z = 1:99;
ave = calculateAverage(z)
ave = 50
function ave = calculateAverage(x)
ave = sum(x(:))/numel(x);
end
Atsushi Ueno
Atsushi Ueno 2023 年 6 月 17 日
移動済み: Atsushi Ueno 2023 年 10 月 5 日
>このタイプの関数は、コマンド ラインではなく、ファイル内で定義しなければなりません。
という事で、関数を関数名と同じ名前のmファイルに保存すると動作する様になります。
ls % calculateAverage.m としてファイルに保存する
calculateAverage.m
z = 1:99;
ave = calculateAverage(z)
ave = 50

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeSatellite and Orbital Mechanics についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!