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 CenterFile Exchange 中查找有关 Satellite and Orbital Mechanics 的更多信息

Community Treasure Hunt

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

Start Hunting!