Borrar filtros
Borrar filtros

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

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

Respuesta aceptada

Kenta
Kenta el 14 de Jun. de 2020
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 comentario
啓史 千葉
啓史 千葉 el 19 de Jun. de 2020
ありがとうございます。やはりバージョンが原因で動作しませんでした。
2020年版のMatlabの体験版をダウンロードして再トライしたら動きました。助言ありがとうございます。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 起動と終了 en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!