関数'rescale​'が実行できずに困っ​ています.

조회 수: 3 (최근 30일)
Keishi Chiba
Keishi Chiba 2020년 6월 11일
댓글: 啓史 千葉 2020년 6월 19일
タイトルの通りの悩みなのですが,’rescale’という関数が実行できずに困っております.
当方のMatlabのバージョンは2016bです.
他人から頂いたMatlabプログラムを実行しようとしたのですが,'rescale'の関数を実行する行(X_Ref = rescale(Ref); % )で下記のようにエラーが出てしまいます.
” 関数 'rescale' (タイプ'double' の入力引数) が未定義です。 ”
原因として,①使用している関数が、MATLABの検索パス上にないディレクトリに移動されたこと.②ライセンスに含まれない機能を使用しようとしている ことを疑い,パスの確認と関数がフォルダ上に存在していることを確認しました.
Matlabのヘルプセンターにてrescale関数の説明を読んだところ,rescale関数は2017のMatlabから追加されたことが参考欄に記載されておりました.
Matlabのバージョンが古いためにプログラムが実行できないのではないかと考えております.
つきましては,Matlab2016bにおいて,rescale関数と同等の働きをする関数か,2016bにおいてrescale関数を動作させる方法をご教授いただけないかと思います.
初歩的な質問で大変申し訳ございませんが,どなたか力を貸して頂けると幸いです.よろしくお願い致します.

채택된 답변

Kenta
Kenta 2020년 6월 14일
function out=rescale(input)
MaxValue=max(input);
MinValue=min(input);
out=(input-MinValue)./(MaxValue-MinValue);
end
こんにちは、おそらく私もバージョンが理由だと思います。関数rescaleが未定義です、ということは、その関数自体が入っていないということでしょう。仰るような他の要因だと、また別のエラー文がでる気がします。
A = 1:5;
B = rescale(A)
シンプルなmax-min標準化であれば上のfunctionからendまでをrescale.mとして保存し、うえのコードを実行すれば本来返すべき値とおなじものを確認できました。ただ、詳細な設定をしたければ追加で書き加える必要があります。一応、rescale.mも添付します。また望むような結果が得られるか確認していただけると幸いです。よろしくお願いいたします。
  댓글 수: 1
啓史 千葉
啓史 千葉 2020년 6월 19일
ありがとうございます。やはりバージョンが原因で動作しませんでした。
2020年版のMatlabの体験版をダウンロードして再トライしたら動きました。助言ありがとうございます。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 起動と終了에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!