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

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개)

카테고리

도움말 센터File Exchange에서 コマンドの入力에 대해 자세히 알아보기

질문:

2023년 6월 17일

이동:

2023년 10월 5일

Community Treasure Hunt

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

Start Hunting!